【问题标题】:Landau notation (ide) tools supportLandau 表示法 (ide) 工具支持
【发布时间】:2011-02-12 13:02:43
【问题描述】:

在开发过程中拥有重要的信息(如朗道符号)来了解函数的时间成本是个好主意。所以它应该记录在来源中不是吗?

我正在寻找可以计算它的工具。

【问题讨论】:

  • 有趣...我不知道有什么工具可以计算一段代码的 Big-O。不确定这样的事情是否存在(甚至可能),但如果有的话,我很想看看。
  • 例如,如果语言设计者会为原子操作记录 big-0,这可能是可能的。或者,如果您的方法具有某些参数(集合),则可以运行单元测试并记录具有不同集合长度的方法执行的持续时间。这就是 O 的计算方式。

标签: eclipse ide netbeans intellij-idea big-o


【解决方案1】:

在一般情况下,任意算法的渐近复杂度是无法确定的,Rice's theorem

但在实践中,您通常可以通过在各种输入(大小跨越几个数量级)上重复运行算法、记录实际 CPU 时间并拟合曲线来做出很好的猜测。 (您应该丢弃运行时间非常短的数据点,因为这些数据点会受到噪声的支配。此外,在 Java 虚拟机等 JIT 运行时上,请确保在开始计时之前运行该函数一段时间,以确保 VM已经热身了。)

【讨论】:

    猜你喜欢
    • 2017-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-14
    • 2020-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多