排序算法:
直接插入排序
希尔排序
起泡排序
快速排序
简单选择排序
归并排序
堆排序
时间复杂度比较
直接插入:O(n²)注:比较和移动次数都达到O(n²)
希尔:O(nlogn)<x<O(n²)
起泡:O(n²)
快速:O(nlogn)注:最坏情况下(即是逆序有序)为O(n²)
简单选择:O(n²)
归并:O(nlogn)
堆:O(nlogn)
稳定性比较
直接插入:稳定(你只是插入,原本就有序,只是移动数据耗时间)
希尔排序:不稳定(因为很可能两个相等的值因为增量的选取导致会交换位置)
起泡:稳定(为了不浪费时间,判别时,最好不交换)
快排:不稳定(在两个哨兵找交换数时,会发生位置变化)
简单:不稳定(因为当出现a,a,b(a>b)时,会让两个a交换位置)
归并:稳定(放心吧,肯定稳)
堆:不稳定(考完试再思考)
总结:考试的时候不要方,easy,easy