排序算法

直接/折半插入排序       时间复杂度O(n^2)           

希尔排序                   时间复杂度O(n^3/2)

冒泡排序                   时间复杂度O(n^2)

1 for(int j=1;j<n;++j) //比较n-1次
2  for(int i=0;i<n-j;++i) //第j趟比较n-j次

快速排序                   时间复杂度O(nlogn) 最坏情况下时间复杂度是O(n^2)

选择排序                   时间复杂度O(n^2)           (树形选择排序、堆选择排序时间复杂度O(nlogn))   

归并排序                   时间复杂度O(nlogn)

 注:   稳定的排序:插入排序、冒泡排序、归并排序、二叉树排序。

         不稳定的排序:希尔排序、快速排序、选择排序、堆排序。

         快速排序最坏情况下时间复杂度是O(n^2),其余最好最坏评价都一样。

         大规模数据用排序中算法复杂度最低的归并排序为好(O(nlog(n)))。

原文地址:https://www.cnblogs.com/yannuonuo/p/2998352.html