[알고리즘] 좋은 성능의 정렬 - 퀵, 병합 정렬
퀵 정렬 평균적으로 가장 좋은 성능을 가졌다. 기준 원소를 잡고 기준 원소를 기준으로 양쪽으로 재배치하면서 정렬한다. 퀵정렬 또한 Divide-and-conquer을 이용한다. 분할 : 배열 A [p.. r]을 두 개의 부분 배열 A [p.. q - 1], A [q + 1.. r]로 분할한다. 전자는 A [q]보다 작거나 같은 원소를, 후자는 A [q]보다 크거나 같은 원소를 배치한다. 정복 : 퀵 정렬을 재귀 호출해서 두 부분 배열을 퀵정렬한다. 결합 : 부분 배열이 이미 정렬되어 있으므로 저절로 합쳐져 있다. 기본적인 알고리즘은 이렇고 자세한 구현은 코드로 보자. QuickSort(A, p, r){ if(p < r) q = Partition(A, p, r) QUICKSORT(A, p, q-..
2023.08.16