排序总结

(1)快速排序:Onlogn~On^2):

小的放在该元素前面,大的放在该元素后面。

快速排序的比较时间最短,可以理解为其要比较该元素的前后,所以效率最高。

平均时间和最好时间:Onlogn

最坏时间退化成冒泡:  On^2

 

2)选择排序:不受初始数据序列的影响,时间复杂度不变

直接选择排序:On^2

堆排序:0nlogn

 

3) 插入排序                   

直接插入排序:O(n)~On^2

待排序序列基本有序的情况下:只需要比较N次,时间复杂度为:O(n)

冒泡排序:O(n)~On^2

待排序序列基本有序的情况下:只需要比较N次,时间复杂度为:O(n)

 

 

总结:

一般平均的最快排序:快速排序

初始序列有序的最快:直接插入排序

最可能出现空间不足:归并排序

与初始序列无关的排序:二分插入排序,直接选择排序,堆排序

原文地址:https://www.cnblogs.com/hellochennan/p/5380508.html