3.1 渐近记号
θ记号 θ(g(n))={f(n):存在正常数c1,c2,n0,使得对所有n≥n0,有0≤c1g(n)≤f(n)≤c2g(n)}。
O记号
Ω记号 Ω(g(n))={f(n):存在正常数c,n0,使得对所有n≥n0,有0≤cg(n)}≤f(n)}。
—–Exercise—–
3.1-1
证明:max(f(n),g(n))=θ(f(n)+g(n))
step1: 根据定义,上式等价于 c1(f(n)+g(n))≤max(f(n),g(n))≤c2(f(n)+g(n)).
step2: 且根据 (f(n)+g(n))/2≤max(f(n),g(n))≤f(n)+g(n),可知,c1=1/2,c2=1 可满足要求,所以得证
3.1-2
证明对任意实常量a和b,其中b>0,有(n+a)b=θ(nb)
step1: 将上式转换为 c1nb≤(n+a)b≤c2nb
step2: 再进一步改为 (k1n)b≤(n+a)b≤(k2n)b,从而只需证 k1n≤n+a≤k2n
step3: 当 n0=⌈a+1⌉时 n≥n0,k1→0,k2=3满足条件,得证。
3.1-3
因为O这一符号包含了上限的意思。
3.1-4
2n+1=O(2n)成立,22n=O(2n)不成立。
3.1-5
条件 f(n)=O(g(n)) 和 f(n)=Ω(g(n))
求证 f(n)=θ(g(n))
证明: 根据定义 0<f(n)≤c2g(n) 和 0<c1g(n)≤f(n),从而可知存在c1和c2使得c1g(n)≤f(n)≤c2g(n),从而得证。
3.1-6
根据定理3.1可知。
3.1-7
从定义上来证明。
3.1-8
略
3.2 标准记号与常用函数
—指数—
多项式与指数的增长率之间的关联:limn→∞nban=0 (其中a>1) 从而可得 nb=o(an) , 任意底大于1的指数函数比任意多项式函数增长的快。
自然对数e: ex=1+x+x22!+x33!+...=∑i=0∞xii! (对所有实数x)
从而有不等式 ex≥1+x
对所有x,我们有 limn→∞(1+xn)n=ex
—对数—
logba=logcalogcb
alogbc=clogba
多项式与多对数的增长互相关联: limn→∞lgbnna=0, 从而lgbn=o(na).
—阶乘—
阶乘的斯特林近似公式:n!=2πn−−−√(ne)n(1+θ(1n))
n! 的上下界: n!=o(nn), n!=ω(2n), lg(n!)=θ(nlgn)
对所有n≥1有: n!=2πn−−−√(ne)neαn(其中:112n+1<αn<112n)
—斐波那契数—
定义: F0=0,F1=1,Fi=Fi−1+Fi−2(i≥2)
黄金分割率ϕ及其共轭数ϕ′的值为:x2=x+1的两个根:ϕ=1+5√2=1.61803... 和 ϕ′=1−5√2=−0.61803...
斐波那契数和黄金分割率的关系:Fi=ϕi−ϕ′i5√
又因为∣∣ϕ′∣∣<1, 所以有∣∣ϕ′i∣∣5√<15√<12,从而Fi=⌊ϕi5√+12⌋, 蕴含着斐波那契数以指数形式增长。
—–Exercise—–
3.2-1
条件:f(n)和g(n)均是单调递增函数
需证:f(n)+g(n)和f(g(n))也是单调递增的
很明显的感觉!略
若增加条件f(n)和g(n)均非负,证f(n)∗g(n)也单调递增
略
3.2-2
证明: alogbc=clogba
等式两边同时取ln得: 左边=logbclna=lnclnblna, 右边=logbalnc=lnalnblnc. 从而 左边=右边, 得证
3.2-3
根据斯特林公式可得: n!=lg(2π−−√n1/2)+nlgne+lg(1+θ(1/n))=nlgn−nlge+12lgn+θ(n)
从而例如c2=2,c1=1,n0=10便可满足要求,从而得证。 后续的两个证明较易,略。
3.2-4
3.2-5
3.2-6
常规的解二次方程即可。
3.2-7
证明 Fi=ϕi−ϕ′i5√
step1: 当 i=0时 F0满足,当i=1时 F1满足。
step2: 假设Fn及n以前均满足
step3: Fn+1=Fn+Fn−1=(1+5√2)n−(1−5√2)n5√+(1+5√2)n−1−(1−5√2)n−15√=(1+5√2)n+1−(1−5√2)n+15√得证 (注:其中用到(1+5√2)2=3+5√2和(1−5√2)2=3−5√2)
3.2-8
用到性质f(n)=θ(g(n))⇔g(n)=θ(f(n))。从而有klnk=θ(n)⇔n=θ(klnk),且只需证k=θ(n/lnn)⇔n/lnn=θ(k)
根据n/lnn=θ(klnkln(klnk))=θ(k),从而得证。
思考题
3-1
略
3-2
a. 根据多项式与对数的关系 limn→∞lgbnna=0可知 lgkn=o(nε)
b. 根据多项式与指数的关系 limn→∞nban=0 (其中a>1) 可知 nk=o(cn)
c. 由于 nsinn存在周期性波动(如每半个周期值回到1),所以不存在上下界关系
d. 2n=(2n/2)2可知2n=ω(2n/2)
e. 根据 alogbc=clogba 可知nlgc=clgn,从而 nlgc=θ(clgn).
f. 根据n!=ω(nn)可得 lg(n!)=ω(lg(nn)).
3-3
3-4
a. 错误,,如n2=O(n3)但n3!=O(n2)
b. 错误,如n2+n不满足
c. 正确, f(n)=O(g(n))⇔f(n)≤cg(n)和lg(f(n))=O(lg(g(n)))⇔lg(f(n))≤clg(g(n))。从而只需满足存在c1,c2和n0使得c1g(n)≤(g(n))c2成立。显然存在。
d. 错误,如f(n)=2n,g(n)=n
e.