【问题标题】:Finding number of Iterations [duplicate]查找迭代次数[重复]
【发布时间】:2018-08-22 00:04:55
【问题描述】:

我试图找出算法在排序时的迭代次数。

我们如何找到sort:Collections.sort在排序时内置的迭代次数?

【问题讨论】:

  • 有什么原因吗?时间?递归?好奇?
  • 抱歉,这个问题太宽泛,无法回答。 “迭代”是什么意思?在纯粹的递归排序中,答案是“零”,所以我认为这不是你所追求的。
  • Java中默认的排序算法是Tim排序,是一种修改后的归并排序。向上看可能会更有意义。如果你不知道去哪里看,请查看 Java 源代码,它有关于排序算法的大量文档。

标签: java java-8


【解决方案1】:

我认为您无法计算运行时的迭代次数。 (您可以使用调试器计算它们,但我不认为这就是您的意思。)

可以计算Collections.sort() 完成的比较次数,方法是使用该方法的两个参数版本并传递您自己的比较器来计算它被调用的次数。这可能是比计算迭代次数更有意义的排序工作度量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-12
    • 1970-01-01
    • 2013-09-21
    • 1970-01-01
    • 1970-01-01
    • 2011-04-10
    • 1970-01-01
    相关资源
    最近更新 更多