证明表达式的运行时间

时间:2019-05-12 04:32:41

标签: algorithm analysis

在证明此分析问题时遇到了一些问题

我的回答是O(n ^ 3)

证明T(n)=n^3+20n+1的运行时间为(O(n^4))

1 个答案:

答案 0 :(得分:1)

为了证明T(n) = n^3 + 20*n + 1O(n^4),只需应用big-O的定义。

我们需要证明存在正常数M > 0和数字N使得

对于所有|T(n) / n^4| < M

n > N

现在,拿M = 3N = 3。然后,对于任何n > N,我们都有|T(n) / n^4| = |(n^3 + 20*n + 1) / n^4| = |1 / n + 20 / n^3 + 1 / n^4| < |1/3 + 20/27 + 1/81| < |1 + 1 + 1| = 3 = M。 QED

的确,{n}变为无穷大时T(n)中最重要的项是n^3,但这并不否认T(n)O(n^4)的事实。使用类似的参数可以表明T(n)O(n^3)(实际上,T(n)n^3的大θ,比n^3的big-O强)。