
常见排序算法总结
概览
总结了常用的排序算法,以及对应分析
相关链接:
总结各种排序算法的时间复杂度和空间复杂度,以及其对应的稳定性
| 算法种类 | 最好情况 | 平均时间复杂度 | 最坏情况 | 空间复杂度 | 是否稳定 |
|---|---|---|---|---|---|
| 冒泡排序 | 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) | 否 |
