排序算法知识点总结
- 时间复杂度比较
| 排序算法名称 | 时间复杂度 |
|---|---|
| 冒泡排序(比较排序算法) | O(n*n) |
| 选择排序(比较排序算法) | O(n*n) |
| 插入排序(比较排序算法) | O(n*n) |
| 希尔排序(比较排序算法) | O(nlog2n) |
| 归并排序(比较排序算法) | O(nlogn) |
| 堆排序(比较排序算法) | O(logn) |
| 快速排序 | O(nlogn)最坏情况O(n*n) |
| 树排序 | O(nlogn)最坏情况O(n*n) |
| 计数排序(线性排序算法) | O(n) |
| 桶排序(线性排序算法) | O(n) |
| 基数排序 (线性排序算法) | O(n) |
2. 空间复杂度比较
| 排序算法名称 | 空间复杂度 |
|---|---|
| 冒泡排序(比较排序算法) | 1 |
| 选择排序(比较排序算法) | 1 |
| 插入排序(比较排序算法) | 1 |
| 希尔排序(比较排序算法) | 1 |
| 归并排序(比较排序算法) | O(n) |
| 堆排序(比较排序算法) | 1 |
| 快速排序 | O(logn) |
| 树排序 | O(n) |
3. 是否为稳定排序
| 排序算法名称 | 是否稳定 |
|---|---|
| 冒泡排序(比较排序算法) | 是 |
| 选择排序(比较排序算法) | 否 |
| 插入排序(比较排序算法) | 是 |
| 希尔排序(比较排序算法) | 否 |
| 归并排序(比较排序算法) | 是 |
| 堆排序(比较排序算法) | 否 |
| 快速排序 | 不确定 |
| 树排序 | 不确定 |
4.牛客题型总结
未完待续
来源:CSDN
作者:coder-peiqi
链接:https://blog.csdn.net/weixin_43365109/article/details/103773877