如何证明大 O 符号
How to prove Big O notation
在我的算法 class 中,我们正在讨论大 O 符号,我无法证明这个示例问题:
证明f(n) = 3n lg n + 10n + lg n + 20 = O(n lg n)
详细信息将不胜感激。
所有你需要证明的是对于一些 M 和 X0:
M n lg n >= 3n lg n +10n + lg n + 20 对于所有大于 X0
的 n
4 对 M
来说很简单
我相信您可以计算出上述不等式成立的一些 x0,然后轻松证明它对所有大于 X0 的 n 都成立
将4代入
有助于简化上述
(n-1)lg n >= 10n + 20
一旦任何 n 足够大,就应该清楚 lg n > 1,因此 n 的任何增加都会使右边增加 1,左边增加 1 以上。
Big O
表示法是一种渐近表示法,它都是关于情况的近似值(最差、最佳和中间情况)。
在您的示例中,nlgn
比 n
和 lgn
增长得更快,而且常数值不相关,在这种近似值中可以忽略。
因此,复杂度为 O(nlgn)
.
在我的算法 class 中,我们正在讨论大 O 符号,我无法证明这个示例问题:
证明f(n) = 3n lg n + 10n + lg n + 20 = O(n lg n)
详细信息将不胜感激。
所有你需要证明的是对于一些 M 和 X0:
M n lg n >= 3n lg n +10n + lg n + 20 对于所有大于 X0
4 对 M
来说很简单我相信您可以计算出上述不等式成立的一些 x0,然后轻松证明它对所有大于 X0 的 n 都成立
将4代入
有助于简化上述
(n-1)lg n >= 10n + 20
一旦任何 n 足够大,就应该清楚 lg n > 1,因此 n 的任何增加都会使右边增加 1,左边增加 1 以上。
Big O
表示法是一种渐近表示法,它都是关于情况的近似值(最差、最佳和中间情况)。
在您的示例中,nlgn
比 n
和 lgn
增长得更快,而且常数值不相关,在这种近似值中可以忽略。
因此,复杂度为 O(nlgn)
.