2 ^ n + 6n ^ 2 + 3n

我想这只是O(2 ^ n),使用最高阶项,但是要证明这一点的正式方法是什么?

有帮助吗?

解决方案

您可以通过在无穷远处使用限制来证明 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,不确定表格,你可以使用 L'Hopital的规则并区分分子和分母直到你得到某些东西你可以使用:

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)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top