Step 1. 중간 지점 탐색
Step 2. 중간 지점의 좌우 index를 비교하여 중간값보다 작은 곳은 모두 생략
Step 3. Step1, 2를 반복하다가 좌우 모두 중간값보다 작으면 중간값이 peak
Time Complexity : O(N²)
Step 1. 모든 원소를 순차적으로 탐색
Step 2. 탐색한 원소를 앞의 배열의 원소들과 비교하며 자신의 위치를 찾아서 삽입
Step 3. 마지막 원소를 탐색하면서 정렬된 배열 반환
Time Complexity : O(NlgN)
Step 1. N = 1 일 때까지 배열 분열
Step 2. 다시 합병하면서 정렬
Step 3. 마지막 합병을 하면서 정렬된 배열 반환
Time Complexity : O(N) (제한된 입력값에 한하여 사용)
Array의 각 원소는 1~10 이내의 값을 가진 원소이다.
Step 1. 1 ~ 10의 index를 가지는 배열을 초기화
Step 2. 배열을 탐색하면서 탐색된 원소가 e일 때 array[e]++
힙 정렬은 삽입과 동시에 정렬이 효율적으로 이루어져야 한다. 이러한 성질 때문에 PriorityQueue에서 정렬 알고리즘으로 사용한다.