algorithm - 这个算法的严格上限是多少?

标签 algorithm time-complexity computation-theory

我实现了一种算法来解决 NP-hard 优化问题。该算法的复杂度为 O(sum (k = 1 to n) of k^n)。我知道 O(n^(n+1)) 是一个上限,但我不知道它是否是一个紧的。哪个是此算法的严格上限:O(n^n)O(n^(n+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>)术语与您之前相同大小的错误术语一起使用。

关于algorithm - 这个算法的严格上限是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17368630/

相关文章:

compiler-construction - 可编译为无堆运行时的语言类

numbers - 计算算术 - 8 位数字需要多少位

algorithm - 为什么 Kruskal 和 Prim MST 算法对于稀疏图和密集图有不同的运行时间?

algorithm - 分析时间复杂度的问题

上下文无关文法的算法

algorithm - 这可以近似吗?

algorithm - 找出非相交道路的最大间隔

algorithm - QML ListView 如何估计其 contentItem 的高度/宽度

algorithm - 根据椭圆与长轴或短轴的角度求出椭圆的半径

javascript - Target Sum 没有输出正确的值