【问题标题】:What is a tight upper bound to this algorithm?这个算法的严格上限是多少?
【发布时间】:2013-06-28 15:45:27
【问题描述】:

我实现了一个算法来解决一个 NP-hard 优化问题。该算法的复杂度为O(sum (k = 1 to n) of k^n)。我知道O(n^(n+1)) 是一个上限,但我不知道它是否是一个紧的。该算法的严格上限是:O(n^n)O(n^(n+1)) 还是其他?

谢谢

【问题讨论】:

    标签: algorithm time-complexity computation-theory


    【解决方案1】:

    答案是O(sum<sub>k=1</sub><sup>n</sup> k<sup>n</sup>) = O(n<sup>n</sup>)。为了验证这一点,请注意,累积大小为O(n<sup>n</sup>) 的误差项可以用并行积分代替总和。 (总和是阶跃函数的积分。遮蔽阶跃函数和连续函数之间的差异,然后将它们滑过。由于该函数是单调递增的,因此这些误差的总和适合最后一项。)求解确定的积分,你最终评估x<sup>n+1</sup>/(n+1)n1。这得出了一个 O(n<sup>n</sup>) 术语与您之前的相同大小的错误术语。

    【讨论】:

      猜你喜欢
      • 2016-05-28
      • 1970-01-01
      • 2021-08-04
      • 2023-03-07
      • 1970-01-01
      • 2011-08-30
      • 2015-06-12
      • 1970-01-01
      相关资源
      最近更新 更多