排序系列(十)排序算法比较

150 阅读1分钟

排序算法效率比较

排序方法平均时间复杂度最坏情况下时间复杂度额外空间复杂度稳定性
简单选择排序O(N2)O(N2)O(1)不稳定
直接插入排序O(N2)O(N2)O(1)稳定
冒泡排序O(N2)O(N2)O(1)稳定
希尔排序O(Nd)O(N2)O(1)不稳定
堆排序O(Nlog2N)O(Nlog2N)O(1)不稳定
快速排序O(Nlog2N)O(N2)O(log2N)不稳定
归并排序O(Nlog2N)O(Nlog2N)O(N)稳定
基数排序O(D(N+R))O(D(N+R))O(N+R)稳定

每一种排序都有其自身优点,适用于不同的情况。应该根据具体的条件,
选择相应的排序方法,甚至将2种以上的排序方法结合使用。