Mafa Dev
여러 정렬 알고리즘 평균 속도 , 최악의 상황 속도 , 메모리 본문
Name |
평균 |
최악의 상황 |
Memory |
Stable |
Method |
Bubble sort |
ㅡ |
O(n^2) |
O(1) |
Yes |
Exchanging |
Cocktail sort |
ㅡ |
O(n^2) |
O(1) |
Yes |
Exchanging |
Comb sort |
O(n log n) |
O(n log n) |
O(1) |
No |
Exchanging |
Gnome sort |
ㅡ |
O(n^2) |
O(1) |
Yes |
Exchanging |
Selection sort |
O(n^2) |
O(n^2) |
O(1) |
No |
Selection |
Insertion sort |
O(n + d) |
O(n^2) |
O(1) |
Yes |
Insertion |
Shell sort |
ㅡ |
O(n log2 n) |
O(1) |
No |
Insertion |
Binary tree sort |
O(n log n) |
O(n log n) |
O(n) |
Yes |
Insertion |
Library sort |
O(n log n) |
O(n^2) |
O(n) |
Yes |
Insertion |
Merge sort |
O(n log n) |
O(n log n) |
O(n) |
Yes |
Merging |
In-place merge sort |
O(n log n) |
O(n log n) |
O(1) |
Yes |
Merging |
Heapsort |
O(n log n) |
O(n log n) |
O(1) |
No |
Selection |
Smoothsort |
ㅡ |
O(n log n) |
O(1) |
No |
Selection |
Quicksort |
O(n log n) |
O(n^2) |
O(log n) |
No |
Partitioning |
Introsort |
O(n log n) |
O(n log n) |
O(log n) |
No |
Hybrid |
Patience sorting |
ㅡ |
O(n^2) |
O(n) |
No |
Insertion |
Strand sort |
O(n log n) |
O(n^2) |
O(n) |
Yes |
Selection |
역시 뭐니뭐니 해도 가장 빠르고 보편화 되있는 알고리즘은 Quicksort(퀵 정렬) 입니다. 54321 처럼 내림차순이 되어있는 배열이라면 말이 달라지지만 그래도 가장 빠른 알고리즘은 퀵정렬 입니다. 빠른 프로그램을 제작 하기 위해서는 퀵정렬을 사용 하시면 됩니다.