7. 정렬 내용 정리 선택정렬, 버블정렬, 삽입정렬은 평균적인 경우와 최악의 경우 모두 𝜃𝑛2이 소요되는 정렬 알고리즘이다. 병합정렬, 힙정렬은 평균적인 경우와 최악의 경우에 모두 𝜃(𝑛log𝑛)이 소요되는 정렬 알고리즘이다. 퀵정렬은 평균적인 경우에 𝜃(𝑛log𝑛)이 소요되고, 최악의 경우에 𝜃𝑛2이 소요되는 정렬알고리즘이다.
11. 개요 정의 데이터 집단 내에서 특정 데이터를 찾아내는 작업 탐색 알고리즘의 효율성 데이터 집단의 구조가 어떤가에 따라 영향을 받음 탐색 알고리즘에 따라 데이터 집단의 구조가 영향을 받음 탐색 방법 선형 탐색 방법 이진 탐색 방법
12. 선형 탐색 정의 특정 원소를 처음부터 하나씩 비교해 가면서 해당 키를 갖는 레코드를 찾는 방법 비용 O(n) 𝑘=1𝑛𝑘1𝑛 = 𝑛+12 장점 구현이 쉽다 단점 비효율적이다
13. 개선된 선형 탐색 리스트를 주기적으로 재배치하여 자주 탐색되는 레코드를 자주 접근하는 위치에 보내는 방법 전진이동법, 전위법 K-전진 이동법 계수법
14. 개선된 선형 탐색 전진 이동(move-to-front)법 탐색 대상 레코드가 찾아지면 그 레코드를 맨 앞으로 이동 한 번 탐색 된 레코드는 다시 탐색 될 가능성이 클 것으로 예상 전위(transpost)법 탐색 된 레코드를 그것의 앞 레코드와 바꿈 자주 탐색 대상이 되면 점점 앞으로 감 지역성(locality)이 거의 없는 균등한 탐색 확률을 갖고자 하는 리스트에 적합 K-전진 이동법 탐색된 레코드를 단순히 k 위치 만큼 이동
15. 개선된 선형 탐색 계수법 각 레코드의 탐색 횟수를 별도로 저장 탐색 후 탐색 횟수를 증가 시킴 자신의 탐색 횟수보다 작은 횟수 레코드와 위치 변경
16. 이진 탐색 정의 레코드의 집합을 특정한 규칙에 맞게 둘로 나눈 후 탐색하는 방법 방법 이진 트리로 구성된 레코드의 키값을 비교해 가며 자신과 동일하면 탐색 종료 키가 다르면 트리가 구성된 규칙에 맞게 해당 가지로 탐색 진행 비용 완전 이진 트리 : O(log n) 경사 트리 : O(n) 탐색 효율성을 위해서는 완전 이진 트리 또는 그와 유사한 형태의 트리(AVL 트리 등)로 만들어야 함