【问题标题】:What is the optimum number of elements for a merge-insertion sort to begin insertion sort?合并插入排序开始插入排序的最佳元素数是多少?
【发布时间】:2021-08-29 11:03:02
【问题描述】:

我目前正在学习算法,并遇到了这种混合合并插入排序算法。如果给定一个合并插入排序算法,例如,

mergesort(arr, start, end)
  if (end - start <= X)
    perform insertionsort
  else if (end - start > X)
    mergesort(arr, start, mid)
    mergesort(arr, mid+1, end)
    merge(arr, start, end)

我如何找到这个混合算法优于普通归并排序算法的最优 X 水平?

【问题讨论】:

标签: algorithm mergesort insertion-sort


【解决方案1】:

X 的最佳数字通常在 16 到 96 的范围内。Visual Studio 使用 32。它对伪随机数据没有太大帮助,对于大型数组,排序时间仅减少了大约 10%。

【讨论】:

    猜你喜欢
    • 2021-09-27
    • 2017-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-09
    • 2021-02-03
    • 2018-03-20
    相关资源
    最近更新 更多