2 ^ n + 6n ^ 2 + 3n
我想这只是O(2 ^ n),使用最高阶项,但是要证明这一点的正式方法是什么?
答案 0 :(得分:4)
您可以使用无穷远处的限制来证明2^n + n^2 + n = O(2^n)
。具体来说,如果f(n)
是有限的,则O(g(n))
为lim (n->inf.) f(n)/g(n)
。
lim (n->inf.) ((2^n + n^2 + n) / 2^n)
由于您有inf / inf,indeterminate form,您可以使用L'Hopital's rule并区分分子和分母,直到您得到可以使用的内容:
lim (n->inf.) ((ln(2)*2^n + 2n + 1) / (ln(2)*2^n))
lim (n->inf.) ((ln(2)*ln(2)*2^n + 2) / (ln(2)*ln(2)*2^n))
lim (n->inf.) ((ln(2)*ln(2)*ln(2)*2^n) / (ln(2)*ln(2)*ln(2)*2^n))
限制为1,因此2^n + n^2 + n
确实是O(2^n)
。
答案 1 :(得分:3)