数据结构面试之十二——排序3(排序算法归类、排序时间、空间复杂度、稳定性总结)

192 阅读1分钟

题注:《面试宝典》有相关习题,但思路相对不清晰,排版有错误,作者对此参考相关书籍和自己观点进行了重写,供大家参考。

十一、数据结构面试之十二——排序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)稳定