稳定性
基本概念
衡量:时、空复杂度
直接插入排序
插入排序 折半插入
希尔排序——缩小增量排序
冒泡排序
交换排序
排序 快速排序
内部排序
简单选择排序
选择排序
堆排序
归并排序
基数排序
外部排序——多路归并排序
算法 | 时间复杂度 | 额外空间 | 稳定性 | 较有利情形 | ||
最好 | 最坏 | 平均 | ||||
直接插入 | O(n) | O(n2) | O(n2) | O(1) | √ | 比较有序 |
冒泡 | O(n) | O(n2) | O(n2) | O(1) | √ | n较小 |
简单选择 | O(n2) | O(n2) | O(n2) | O(1) | ╳ | n较小 |
希尔 |
|
|
| O(1) | ╳ |
|
快排 | O(nlogn) | O(nlogn) | O(n2) | O(logn) | ╳ | n较大 |
堆排序 | O(nlogn) | O(nlogn) | O(nlogn) | O(1) | ╳ | n较大 |
2-路归并 | O(nlogn) | O(nlogn) | O(nlogn) | O(n) | √ | n较大 |
基数 | d(n+r) | d(n+r) | d(n+r) | O® | √ |
|
桶排序 |
| O(n) |
|
|
|
|