各大排序算法综合总结
详解中包括了时间复杂度(最差/平均/最优),面试宝典
算法 | 最差 | 平均 | 最优 | 空间 | 稳定性 |
---|---|---|---|---|---|
直接插入排序 | O(n^2) | O(n^2) | O(n) | O(1) | 稳定 |
希尔排序 | O(nlogn) | O(nlogn) | 视情况而定 | O(1) | 不稳定 |
基数排序 | O(d(n+r)) | O(d(n+r)) | O(d(n+r)) | O(n+r) | 稳定 |
快速排序 | O(n^2) | O(nlogn) | O(nlogn) | O(nlogn) | 不稳定 |
选择排序 | O(n^2) | O(n^2) | O(n^2) | O(1) | 不稳定 |
冒泡排序 | O(n^2) | O(n^2) | O(n) | O(1) | 稳定 |
桶排序 | O(n) | O(n) | O(n) | max | 稳定 |
归并排序 | O(nlogn) | O(nlogn) | O(nlogn) | O(1) | 稳定 |
堆排序 | O(nlogn) | O(nlogn) | O(nlogn) | O(1) | 不稳定 |