做業部落:https://www.zybuluo.com/listenviolet/note/1399285git
以上連接是本身在做業部落編輯的排序算法總結~github
Github: https://github.com/listenviolet/py_code/tree/master/sort算法
Github中有對這10種排序算法的Python代碼總結~函數
在C++中的sort()函數中使用的是IntroSort算法。IntroSort是QuickSort, HeapSort, Insertion Sort的混合版本,經過三者的組合來達到最小化運算時間的效果。ui
https://www.geeksforgeeks.org/know-your-sorting-algorithm-set-2-introsort-cs-sorting-weapon/spa
1. IntorSort首先採用QuickSort, 若是QuickSort的遞歸深度超過規定的限制$2log(N)$,就會轉用HeapSort,以免出現$O(N^2)$的QuickSort的最差時間複雜度。code
2. 若是QuickSortpartition size中的排序元素的個數很是少時(設置爲小於16時),會採用InsertSort.blog
3. 若是partition size 在 [16, 2*log(N)] 之間時,使用QuickSort.排序