总结来自《数据结构与算法应用实践教程》主编 李文书
一、稳定性
关键字值相同的数据经过排序后相对次序保持不变
二、分类总结
- 插入排序:直接插入排序,折半插入排序,希尔排序
- 交换排序:冒泡排序,快速排序
- 选择排序:直接选择排序,堆排序
- 归并排序
- 基数排序
- 桶排序
三、复杂度总结
算法名称 | 时间复杂度 | 空间复杂度 | 稳定性 |
---|---|---|---|
直接插入排序 | 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) | 稳定 |