算法 - 排序稳定性总结
排序方式 |
时间复杂度 |
空间复杂度 |
稳定性 |
||
平均情况 |
最坏情况 |
最好情况 |
|||
插入排序 |
O(n^2) |
O(n^2) |
O(n) |
O(1) |
稳定 |
希尔排序 |
O(n^1.3) |
O(1) |
不稳定 |
||
冒泡排序 |
O(n^2) |
O(n^2) |
O(n) |
O(1) |
稳定 |
快速排序 |
O(nlogn) |
O(n^2) |
O(nlogn) |
O(logn) |
不稳定 |
选择排序 |
O(n^2) |
O(n^2) |
O(n^2) |
O(1) |
不稳定 |
堆排序 |
O(nlogn) |
O(nlogn) |
O(nlogn) |
O(1) |
不稳定 |
归并排序 |
O(nlogn) |
O(nlogn) |
O(nlogn) |
O(n) |
稳定 |
基数排序 |
O(d(n+r)) |
O(d(n+r)) |
O(d(n+r)) |
O(r) |
稳定 |
箱/桶排序 |
O(m+n) |
O(m+n) |
O(n^2) |
O(n) |
稳定 |