complexity
| Complexity | Best case | Average case | Worst case | Memory space | Stable |
|---|---|---|---|---|---|
| Bubble | O(N) |
O(N^2) |
O(N^2) |
1 | stable |
| Insertion | O(N) |
O(N^2) |
O(N^2) |
1 | stable |
| Selection | O(N^2) |
O(N^2) |
O(N^2) |
1 | non-stable |
| Merge | O(NlogN) |
O(NlogN) |
O(NlogN) |
O(N) |
|
| Quick | O(NlogN) |
O(NlogN) |
O(N^2) |
O(N) or O(logN) |
non-stable |
| Radix | O(KN) |
||||
| Count | O(N+K) |
O(N+K) |
O(N+K) |
O(N+K) |
|
| Bucket | O(N+K) |
O(N+K) |
O(N^2) |
O(N+K) |
stable |
| Shell | O(NlogN) |
O(N^2)~`O(nlog^2 N)` |
1 | non-stable | |
| Heap | O(NlogN) |
O(NlogN) |
O(NlogN) |
1 | non-stable |
Count sort 計算每個鍵值的出現次數,並用額外的陣列保存
implement
1 | // #include <stdlib> |