常用排序算法总结

总结来自《数据结构与算法应用实践教程》主编 李文书

一、稳定性

关键字值相同的数据经过排序后相对次序保持不变

二、分类总结

  1. 插入排序:直接插入排序,折半插入排序,希尔排序
  2. 交换排序:冒泡排序,快速排序
  3. 选择排序:直接选择排序,堆排序
  4. 归并排序
  5. 基数排序
  6. 桶排序

三、复杂度总结

算法名称 时间复杂度 空间复杂度 稳定性
直接插入排序 O(n * n) O(1) 稳定
冒泡排序 O(n * n) O(1) 稳定
快速排序 O(n * logn) O(logn) 不稳定
简单选择排序 O(n * n) O(1) 不稳定
堆排序 O(n * logn) O(1) 不稳定
二路归并排序 O(n*logn) O(n) 稳定
基数排序 O(d*(n+r*d)) O(r*d) 稳定

你可能感兴趣的:(排序算法)