🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
简单总结: | 比较排序算法 | 时间复杂度 | 空间复杂度| 稳定性| | --- | --- | --- | --- | --- | --- | | 简单选择排序 | `O(n^2)` | `O(1)` | 否| | 冒泡排序 | `O(n^2)` | `O(1)` | 是| | 直接插入排序 | `O(n^2)` | `O(1)` | 是| | 归并排序 | `O(n*logn)` | `O(n)` | 是| | 快速排序 | `O(n*logn)` | `O(logn)` | 否| | 堆排序 | `O(n*logn)` | `O(1)` | 否| 注意到一点:虽然归并排序、快速排序和堆排序的时间复杂度是一样的,但是实际上快速排序最快。但缺点在于会消耗更多的空间,且算法不具有稳定性。 对于稳定性,最直观的案例就是淘宝购物筛选的时候,我们希望多次筛选后排序结果为所期望值。这个时候就需要使用稳定的排序算法。