排序算法】排序算法总结
排序算法分类
插入排序: 直接插入、希尔排序
选择排序: 简单选择、堆排序
交换排序: 冒泡排序、快速排序
归并排序: 归并排序
桶排序、基数排序、计数排序
排序算法总结
简单的排序
- 冒泡排序 bubble sort
- 选择排序 selection sort
- 直接插入排序 straight insertion sort
- 折半插入排序 binary insert sort
复杂的排序
线性的排序
- 桶排序 bucket sort
- 计数排序 count sort
- 基数排序 radix sort
排序算法稳定性
稳定性的排序:
冒泡排序
插入排序(直接插入排序、折半插入排序)
归并排序
基数排序
非稳定性的排序
选择排序
堆排序
希尔排序
快速排序
排序算法时间和空间复杂度对比
算法 | 平均时间复杂度 | 最坏时间复杂度 | 最好时间复杂度 | 空间复杂度 |
---|---|---|---|---|
冒泡排序 | ||||
快速排序 | ||||
插入排序 | ||||
希尔排序 | ||||
选择排序 | ||||
堆排序 | ||||
归并排序 |
排序算法的排序过程可视化
数据结构与算法动态可视化 网站,展示了各种排序算法排序时元素位置变化过程。