排序特点总结
稳定性
不稳定排序
名称 | 时间 |
---|---|
选择排序 | O(n2) |
快速排序 | O(nlogn) 最坏情况O(n2) |
堆排序 | O(nlogn) 最坏O(nlog2n) 额外空间的复杂度为O(1) |
希尔排序 | O(nlogn) |
基数排序 | O(n·k); 需要 O(n) 额外存储空间 (K为特征个数) |
稳定排序
名称 | 时间 |
---|---|
插入排序 | O(n2) |
冒泡排序 | O(n2) |
归并排序 | O(nlogn); 需要 O(n) 额外存储空间 |
二叉树排序 | O(nlogn); 需要 O(n) 额外存储空间 |
计数排序 | O(n+k); 需要 O(n+k) 额外存储空间,k为序列中Max-Min+1 |
桶排序 | O(n); 需要 O(k) 额外存储空间 |
- 比较次数与序列初始状态无关的排序: 选择排序、二分插入排序。
- 快排在完全无序的情况下效果最好O(nlogn)、在有序情况下最差O(n^2)。