[Alg] 十大经典排序算法总结

做业部落:https://www.zybuluo.com/listenviolet/note/1399285git

以上连接是本身在做业部落编辑的排序算法总结~github

Github: https://github.com/listenviolet/py_code/tree/master/sort算法

Github中有对这10种排序算法的Python代码总结~函数

 

IntorSort

在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.排序

相关文章
相关标签/搜索