DAY11
재귀함수
재귀함수의 장점은 자기 자신을 호출함으로써 코드를 간결하고 명확하게 만들 수 있다.
항상 탈출 조건을 써줘야한다.
정렬
데이터를 순서대로 나열하는 방법
정렬을 통해 이진탐색이 가능하고 데이터를 조금 더 효율적으로 탐색할 수 있다.
종류에는 버블정렬(가장 쉽고 직관적인 정렬), 선택정렬, 삽입정렬, 병합정렬 등이 있다.
스택 / STACK
스택은 LIFO(Last in First Out) 으로 나오는 곳과 들어가는 곳이 같다.
push(data): 맨 위에 데이터를 넣는다.
pop(): 맨 위의 데이터 뽑는다.
peek(): 맨 위의 데이터 보여준다.
isEmpty(): 스택이 비어있는지 안 비어있는지 여부 반환해준다.
큐/ QUEUE
큐는 FIFO(First in First Out) 으로 나오는 곳과 들어가는 곳이 다르다.
순서대로 처래되어야 하는 일에 쓰인다.
enqueue(data): 맨 뒤에 데이터를 추가한다.
dequeue(): 맨 위의 데이터를 뽑는다.
peek(): 맨 위의 데이터를 보여준다.
isEmpty(): 큐가 비어있는지 안 비어있는지 여부를 반환해준다.
해쉬
Hashing Algorithm 을 통해서 문자열을 고정 된 길이의 데이터로 만들 수 있다.
효율적인 자료구조인 딕셔너리를 만들때도 사용된다. 데이터의 검색과 저장이 아주 빠르게 진행된다.
해쉬테이블은 컴퓨팅에서 키를 값에 맵핑할 수 있는 구조인 연관배열 추가에 사용되는 자료구조이다.
해쉬 함수를 사용하여 index 를 bucket 이나 slot 의 배열로 계산한다.
인덱스 값이 동일해져 값이 업데이트 될 때 (충돌) 을 해결하는 방법은 링크드 리스크를 사용하는 것이다. Key 값도 같이 저장해줘야한다.
많은 부분 진행하셨네요 ㅎㅎ
개념 정리해놓으신것들 틈틈히 보시면서 익히시면 좋겠습니다!