【问题标题】:The best threshold for a Mergesort to switch to an insertion sort at?合并排序切换到插入排序的最佳阈值是?
【发布时间】:2017-02-06 02:43:26
【问题描述】:

我一直在编写一段 java 代码来确定合并排序切换到插入排序的最佳阈值,但我的结果并不令人满意。

我正在运行的测试需要将近一个小时,并且产生的数据对我来说并不真正代表任何特定模式。所以我希望问我对最佳阈值的期望是什么。它应该是恒定的吗?它应该是 N/(某个数字)吗?在某个 N 值之后它是恒定的吗?大概你会期待什么?

(如果重要的话,我正在比较 Java 中的 Integer 对象)

【问题讨论】:

  • 真的吗? 10到50之间?谢谢那种范围实际上正是我想要的!就像我在提问中所说的那样,我一直在尝试对自己进行基准测试,但我不确定我是否应该测试像 1000 这样的阈值,或者我是否应该接近 100。大小 N 是否会影响它接近 50 或 10?
  • 太棒了,我会试一试
  • 感谢您的帮助!在该范围内进行测试后,我的数据中终于出现了一种模式。这非常有帮助。

标签: mergesort threshold


【解决方案1】:

这在一定程度上取决于您的实际硬件。

最好的方法是在您的目标硬件上进行基准测试。

通常在 10 到 50 之间,但测试在 10 到 100 之间。

在我前段时间从事的实现中,阈值是 22 项。

【讨论】:

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