2. Divide & Conquer Algorithm (6) Summary


Sanjoy Dasgupta가 저술한 책인 Algorithms과 이기창님의 블로그, Heee님의 블로그를 참고하였다.


정렬 알고리즘 총정리

정렬 알고리즘을 비교해 표로 나타내면 다음과 같다. 알고리즘 이름을 클릭하면 관련 포스트로 이동한다. 보통 시간복잡도는 Average-Case를 많이 사용한다.

Algorithm Stable In-place Best Average Worst
Insertion O O $O(n)$ $O(n^2)$ $O(n^2)$
Bubble O O $O(n^2)$ $O(n^2)$ $O(n^2)$
Selection X O $O(n^2)$ $O(n^2)$ $O(n^2)$
Merge O X $O(n\log_2n)$ $O(n\log_2n)$ $O(n\log_2n)$
Quick X O $O(n\log_2n)$ $O(n\log_2n)$ $O(n^2)$
Heap X O $O(n\log_2n)$ $O(n\log_2n)$ $O(n\log_2n)$
Shell O O $O(n)$ $O(n^{1.5})$ $O(n^2)$
Counting O X . $O(n+k)$ .
Radix O X . $d \times O(n)$ .
Bucket O X . $O(n)$ .


Conclusion