Skip to content

常见排序算法总结

概览

总结了常用的排序算法,以及对应分析

相关链接:

  1. 冒泡排序
  2. 选择排序
  3. 插入排序
  4. 快速排序
  5. 归并排序
  6. 希尔排序
  7. 桶排序
  8. 基数排序
  9. 堆排序

总结各种排序算法的时间复杂度和空间复杂度,以及其对应的稳定性

算法种类最好情况平均时间复杂度最坏情况空间复杂度是否稳定
冒泡排序O(n)O(n^2)O(n^2)O(1)
选择排序O(n^2)O(n^2)O(n^2)O(1)
插入排序O(n)O(n^2)O(n^2)O(1)
快速排序O(nlogn)O(nlogn)O(n^2)O(logn)
归并排序O(nlogn)O(nlogn)O(nlogn)O(n)
希尔排序O(n^1.3)-O(n^2)O(1)
桶排序O(n)O(n*(log(n/m)+1))O(n^2)O(n+m)
基数排序O(d(n+r))O(d(n+r))O(d(n+r))O(r)
堆排序O(nlogn)O(nlogn)O(nlogn)O(1)