Quicksort 알고리즘은 Divide and Conquer 방법 중 하나로, 아래와 같은 단계로 진행됩니다.
1. partition 수행(n)
2. quicksort 호출 (n/2)
3. quicksort 호출 (n/2)
가장 정직한 형태의 Divide and Counquer 방법인 MergeSort 알고리즘과 비교했을 때, combine 부분이 parttition으로 대체되어 있음을 알 수 있죠.
Quicksort 알고리즘에는 pivot element라는것이 주어지는데, 알고리즘은 이를 중심으로 이보다 작은 원소는 왼쪽, 큰 왼쪽은 오른쪽으로 정렬하는 작업을 반복합니다.
Mergesort | Quicksort | |
---|---|---|
Worst-Case | ||
Average-Case | ||
Space Complexity | ||
Stablilty | Yes | No |