如何实现quiksort和插入排序的优化混合排序算法?

时间:2017-03-22 16:32:06

标签: sorting quicksort insertion-sort

我想切换到较小阵列的插入排序和较大阵列的快速排序。切换到插入排序可能会减少递归的次数。 我想知道可以切换到插入排序的数组的最大大小。

这是快速排序和插入排序的实现。对于阵列长度<使用9插入排序。 https://megocode3.wordpress.com/2008/01/28/8/

即使我们知道双枢轴快速排序使用插入来排序数组较小的长度< 27 http://codeblab.com/wp-content/uploads/2009/09/DualPivotQuicksort.pdf

PS - Java使用双透视快速排序对原始类型进行排序

1 个答案:

答案 0 :(得分:1)

我在这里真的不明白你的问题。在某些时候,你决定从快速排序切换到插入排序,以节省内存,但牺牲速度。插入排序为O(n ^ 2),而Quick-sort为O(nlogn),但quicksort使用递归,因此相对内存密集。根据您希望程序平衡的方式,决定通过减慢速度来节省内存的时间由您决定。