我正在解决CLRS中我们需要证明的问题(ceil(lg lg n))!是多项式有界的。
Let g(n)=(ceil(lg lg n))!
lg(g(n))=lg((ceil(lg lg n))!)
=theta(ceil(lg lg n) * lg (ceil(lg lg n))) [since lg(n!)=theta(n * lg n)
and replacing n by ceil(lg lg n) here.]
=theta((lg lg n) * (lg lg lg n)) ----(1) [since ceil(n)=theta(n)
and replacing n by (lg lg n) here.]
现在,如果我能证明theta(lg n)= o(n)
=>theta(lg lg lg n)=o(lg lg n)
=>theta((lg lg n) * (lg lg lg n))=o((lg lg n) * (lg lg n))
=o((lg lg n)^2)
=o(lg^2(lg n))
=o(lg n) ----(2) [Polylogarithmic functions grow slower than
polynomial functions.
=>log^b(n)=o(n^a)
=>log^2(log n)=o(logn^1)
=>log^2(log n)=o(log n)]
From (1) and (2) we have log(g(n))=o(log n)
=>g(n)=o(n^a) that is g(n) is polynomially bounded.
我面临的唯一问题是证明 theta(lg n)= o(n)。 请帮忙!
答案 0 :(得分:0)
要证明(ceil(lg lg n))!
是多项式限制的,您还可以使用Stirling's approximation
斯特林说,n!
主要是n^n
。以下是:
ceil(lg lg n)! < (1 + lg lg n)!
< (1 + lg lg n)^(1 + lg lg n)
= (1 + lg lg n) * (1 + lg lg n)^(lg lg n)
< (1 + lg lg n) * (2 * lg lg n)^(lg lg n)
< (1 + lg lg n) * (lg n) * (lg lg n)^(lg lg n)
现在只剩下显示(lg lg n) ^ (lg lg n)
是多项式有界:
(lg lg n)^(lg lg n) < n
<=> lg ( (lg lg n)^(lg lg n) ) < lg n
=> lg ( (lg lg n)^(lg lg n) ) = (lg lg n) * (lg lg lg n)
< sqrt(lg n) * sqrt(lg n)
= lg n
总而言之,你得到了
ceil(lg lg n)! < (1 + lg lg n) * (lg n) * n
不使用Landau-notation。
关于你的问题(证明theta(lg n)=o(n)
):
f
中的o(g)
表示lim f(n)/g(n) -> 0
的{{1}} - &gt;无穷。由于n
,lim (lg n)/n -> 0
位于lg n
。
o(n)
表示e in Theta(f)
因此,0 < liminf e(n)/f(n) <= limsup e(n)/f(n) < infinity
中的e
上限为Theta(f)
,常数为c* f(n)
。
因此c
中的e
被Theta(lg n)
限制,由于c * lg n
,lim c lg n / n -> 0
也位于e
。