我遇到了这个问题。要证明以下陈述是对还是错
让f(n)= n + log n,则f(n)= O(log ^ 2 n)。
我不确定关于如何证明或反驳log ^ 2n是否是n的上限。有人可以帮我构造一个相同的证明。
答案 0 :(得分:0)
考虑功能
g(x) = x(ln x)^2 ; x > 0
此函数为正值,并且对于0 < x < e^(-2)
递增。
要了解为什么如此,让我们计算其导数:
g'(x) = 1*(ln x)^2 + x*2(ln x)/x
基本上是因为ln x
的导数是1/x
。然后
g'(x) = (ln x)((ln x) + 2)
对于0 < x < e^(-2)
为正,因为在该时间间隔内两个因素均为负。
这证明g(x)
为正并在间隔(0, e^(-2))
中增加。因此,存在一个正常数c
使得
g(x) > c ; if x is small enough
这意味着
g(1/n) > c ; if n is large enough
或
(1/n)(ln n)^2 > c
或
n < (1/c)(ln n)^2 = O((ln n)^2)
并且由于ln n
也是O((ln n)^2)
,我们得到了
n + (ln n) = O((ln n)^2)
我们想看到的。