排序算法的比较
排序方法 | 平均时间复杂度 | 最坏时间下复杂度 | 额外空间复杂度 | 稳定性 |
---|---|---|---|---|
简单选择排序 | 不稳定 | |||
冒泡排序 | 稳定 | |||
直接插入排序 | 稳定 | |||
希尔排序 | 不稳定 | |||
堆排序 | 不稳定 | |||
快速排序 | 不稳定 | |||
归并排序 | 稳定 | |||
基数排序 | 稳定 |
- 希尔排序:
O(Nd) 中的d 是指获取增量序列的方式 - 基数排序:
N 个数,基数为R (可以理解为进制,十进制的基数就是10),数的最大位数D
排序方法 | 平均时间复杂度 | 最坏时间下复杂度 | 额外空间复杂度 | 稳定性 |
---|---|---|---|---|
简单选择排序 | 不稳定 | |||
冒泡排序 | 稳定 | |||
直接插入排序 | 稳定 | |||
希尔排序 | 不稳定 | |||
堆排序 | 不稳定 | |||
快速排序 | 不稳定 | |||
归并排序 | 稳定 | |||
基数排序 | 稳定 |