728x90
정렬
-
[알고리즘] 퀵소트(Quick Sort) - C/C++알고리즘/알고리즘 구현 2018. 9. 29. 16:56
- 피봇(pivot)을 기준으로 왼쪽에 작은 값 / 오른쪽에 큰 값으로 분류한 후, 이 두 부분 집합에 대해 각각 퀵소트를 동일하게 반복하는 분할 정복 (Divide and Conquer) 기법의 정렬 알고리즘 - 재귀호출 이용 * 최선, 평균 : - 상당히 효율적인 정렬 알고리즘임을 알 수 있다. * 최악 : - 부분집합이 한 쪽으로만 계속 몰리는 경우 효율성이 떨어진다. void quickSort(int arr[], int start, int end) { if (start < end) { int left = start; int right = end; int pivot = end; while(left < right) { while(arr[left] = arr[pivot] && left < right) ..