排序方法 |
最好时间 |
最坏时间 |
平均时间 |
辅助空间 |
稳定性 |
直接插入 |
O(n) |
O(n2) |
O(n2) |
O(1) |
稳定 |
简单选择 |
O(n2) |
O(n2) |
O(n2) |
O(1) |
不稳定 |
冒泡排序 |
O(n) |
O(n2) |
O(n2) |
O(1) |
稳定 |
希尔排序 |
---- |
---- |
O(n1.25) |
O(1) |
不稳定 |
快速排序 |
O(nlog2n) |
O(n2) |
O(nlog2n) |
O(log2n) (辅助栈) |
不稳定 |
堆排序 |
O(nlog2n) |
O(nlog2n) |
O(nlog2n) |
O(1) |
不稳定 |
归并排序 |
O(nlog2n) |
O(nlog2n) |
O(nlog2n) |
O(n) |
稳定 |
基数排序 |
O(d*n) |
O(d*n) |
O(d*n) |
O(n*d) |
稳定 |
1. Insertion sort direct insertion sort shell sort |
2. Exchange sort bubble sort quick sort |
3. Select sort simple select sort heap sort | 4. Merge sort | 5. Radix sort |