各种排序算法有什么优劣
直接上图–各种排序算法的性能表
由表中数据可以得出的结论
(1):简单的说,所有相等的元素在经过某种排序后依然能够保持排序之前的相对次序,那么就称这种排序是稳定的。上述稳定的排序算法有:直接插入排序,冒泡排序,归并排序。其他的都是不稳定排序算法。
(2):时间复杂度为O(n)的排序算法有:直接选择排序,直接插入排序,冒泡排序,其它的都为O(logn)的时间复杂度。
(3):虽然直接选择排序和冒泡排序的时间复杂度较高,但是当待排序序列基本有序的时候,他们的效率还是蛮高的。当初始序列基本有序或者局部有序的时候,快速排序的效率会急速下降。当排序序列较少不追求稳定性的情况下,使用快速排序较好,当追求稳定性的时候选择直接选择排序或者冒泡排序较好。