我想切换到较小阵列的插入排序和较大阵列的快速排序。切换到插入排序可能会减少递归的次数。 我想知道可以切换到插入排序的数组的最大大小。
这是快速排序和插入排序的实现。对于阵列长度<使用9插入排序。 https://megocode3.wordpress.com/2008/01/28/8/
即使我们知道双枢轴快速排序使用插入来排序数组较小的长度< 27 http://codeblab.com/wp-content/uploads/2009/09/DualPivotQuicksort.pdf
PS - Java使用双透视快速排序对原始类型进行排序
答案 0 :(得分:1)
我在这里真的不明白你的问题。在某些时候,你决定从快速排序切换到插入排序,以节省内存,但牺牲速度。插入排序为O(n ^ 2),而Quick-sort为O(nlogn),但quicksort使用递归,因此相对内存密集。根据您希望程序平衡的方式,决定通过减慢速度来节省内存的时间由您决定。