数据结构面试之十二——排序3(排序算法归类、排序时间、空间复杂度、稳定性总结)
2012-09-05 00:05
549 查看
题注:《面试宝典》有相关习题,但思路相对不清晰,排版有错误,作者对此参考相关书籍和自己观点进行了重写,供大家参考。
十一、数据结构面试之十二——排序3(排序算法归类、排序时间、空间复杂度、稳定性总结)
排序算法归类
排序算法汇总:
十一、数据结构面试之十二——排序3(排序算法归类、排序时间、空间复杂度、稳定性总结)
排序算法归类
插入排序类 | 选择排序类 | 交换排序类 | 归并排序类 | |||
直接插入排序 | 希尔排序 | 直接选择排序 | 堆排序 | 冒泡排序 | 快速排序 | 归并排序 |
排序算法汇总:
| 平均时间复杂度 | 最好情况 | 最差情况 | 空间复杂度 | 稳定性 |
直接插入排序 | O(n2) | O(n) | O(n2) | O(1) | 稳定 |
冒泡排序 | O(n2) | O(n) | O(n2) | O(1) | 稳定 |
直接选择排序 | O(n2) | O(n2) | O(n2) | O(1) | 不稳定 |
希尔排序 | O(nlogn)~O(n2) | O(n1.3) | O(n2) | O(1) | 不稳定 |
快速排序 | O(nlogn) | O(nlogn) | O(n2) | O(logn) | 不稳定 |
堆排序 | O(nlogn) | O(nlogn) | O(nlogn) | O(1) | 不稳定 |
归并排序 | O(nlogn) | O(nlogn) | O(nlogn) | O(n) | 稳定 |
相关文章推荐
- 【数据结构】排序算法时间效率、空间效率以及算法稳定性总结
- 【数据结构】01.8种排序算法的稳定性和时间复杂度小结
- 常用排序(稳定性、时间/空间复杂度)
- 数据结构——算法之(017)( 如何对n个数进行排序,要求时间复杂度O(n),空间复杂度O(1))
- 各种排序算法的java实现及时间、空间复杂度、稳定程度总结
- 各种排序(数据结构复习之内部排序算法总结)
- 各种排序算法时间复杂度和稳定性总结【转】
- 各种排序算法的思想以及时间复杂度,空间复杂度总结
- 常见排序算法的时间复杂度、稳定性总结
- 各种排序算法的java实现及时间、空间复杂度、稳定程度总结
- java面试总结——列举几种排序算法,并说明时间复杂度和空间复杂度
- 算法与数据结构-常用排序算法总结1-比较排序
- 排序算法: 时间复杂度、空间复杂度、稳定性总结
- 2017/08/24 排序的时间、空间复杂度以及稳定性
- c语言排序算法总结 选择 插入 冒泡 希尔 快速 堆排序 稳定性 时间复杂度 空间复杂度
- 各种排序算法的时间/空间复杂度稳定性
- 数据结构几种排序算法的时间和空间复杂度总结
- 七种排序方法(稳定性、空间复杂度、时间复杂度)分析总结
- 16 - 12 - 19 十大排序算法总结(四) 之 快速排序
- 面试中的排序算法总结