【问题标题】:Computing Algorithm Runtime?计算算法运行时?
【发布时间】:2014-10-05 06:30:18
【问题描述】:

这更像是一个 CS 问题,但希望有人可以帮助我。如果特定算法的运行时间为 T(100) = 20,我如何估计给定的 T(400) 的运行时间, a) T(n) = O(n) 或 b) T(n) = O(n^2) ?对于 a,我认为如果 100 个元素占用 20 个单位(空间或时间),那么线性 400 个元素将占用大约 80 个单位。这种想法正确吗?如果是这样,如何接近 b) ?如果不是,那么计算这个的正确方法是什么?谢谢!

【问题讨论】:

  • 嗯,O(n) 表示渐近边界......所以这意味着从 100 接近 400 很可能根本不准确。但是,仅凭这些数据,我想您无能为力。

标签: algorithm computer-science time-complexity


【解决方案1】:

做出一些假设,例如 n 足够大,您可以真正看到渐近行为,并且算法分别是 Omega(n) 和 Omega(n^2),您可以这样进行:

a) T(n) = c * n;假设 T(100) = 20 我们发现 c = 0.2 和 T(400) = 80

b) T(n) = c * n^2; T(100) = 20 -> c = 0.002; T(400) = 320

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-11
    • 1970-01-01
    • 2012-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多