以下,作者整理了最最经典的十种排序算法,按难度排序
以比较为基本操作的排序算法
其他排序算法
算法性能一览表
排序算法 | 平均时间复杂度 | 最差时间复杂度 | 辅助空间复杂度 | 稳定性 |
---|---|---|---|---|
冒泡排序 | n 2 n^2 n2 | n 2 n^2 n2 | 1 1 1 | 稳定 |
选择排序 | n 2 n^2 n2 | n 2 n^2 n2 | 1 1 1 | 不稳定 |
插入排序 | n 2 n^2 n2 | n 2 n^2 n2 | 1 1 1 | 稳定 |
希尔排序 | n 1.3 n^{1.3} n1.3 | n 2 n^2 n2 | 1 1 1 | 不稳定 |
归并排序 | n log n n\log n nlogn | n log n n\log n nlogn | n n n | 稳定 |
桶排序 | n + k n+k n+k | n 2 n^2 n2 | n + k n+k n+k | 可以稳定 |
快速排序 | n log n n\log n nlogn | n 2 n^2 n2 | n log n n\log n nlogn | 不稳定 |
随机快速排序 | n log n n\log n nlogn | n log n n\log n nlogn | n log n n\log n nlogn | 不稳定 |
堆排序 | n log n n\log n nlogn | n log n n\log n nlogn | n n n | 不稳定 |
计数排序 | n + k n+k n+k | n + k n+k n+k | n + k n+k n+k | 稳定 |
基数排序 | n k nk nk | n k nk nk | n + k n+k n+k | 稳定 |