3.1-1
设
∃n1,n2:f(n)≥0g(n)≥0for n>n1for n>n2
设 n0=max(n1,n2) ,则对 n>n0:
f(n)≤max(f(n),g(n))g(n)≤max(f(n),g(n))(f(n)+g(n))/2≤max(f(n),g(n))max(f(n),g(n))≤f(n)+g(n)
根据 Θ 的定义以及上式我们知, ∃c1=12,c2=1
0≤12(f(n)+g(n))≤max(f(n),g(n))≤f(n)+g(n)for n>n0
得证。
3.1-2
将此式二项式展开有
(n+a)b=(n0)nb+(n1)nb−1b+⋯+(nn)n0bn
,舍掉低阶项即可。
3.1-3
O
表示一个上界,“至少”又意味着一个下界。
3.1-4
第一个成立,我们选择一个大于等于
第二个不成立,因为
∄c:2n⋅2n≤c⋅2n
。
3.1-5
若
f(n)=Θ(g(n))
,根据定义我们有:
0≤c1g(n)≤f(n)≤c2g(n)for n>n0
我们选择此时的 c1,c2 即可得到 f(n)=O(g(n)),f(n)=Ω(f(n)) 。
反之,若 f(n)=O(g(n)),f(n)=Ω(f(n)) ,根据定义则有:
0≤c3g(n)≤f(n)for n>n10≤f(n)≤c4g(n)for n>n2
设 n3=max(n1,n2) ,则对 n>n3:
0≤c3g(n)≤f(n)≤c4g(n)for n>n4
即得证。
3.1-6
设
Tb,Tw
分别表示最好和最坏运行时间,由题得:
0≤Tw≤c1g(n)for n>n10≤c2g(n)≤Tbfor n>n2
所以得到
0≤c2g(n)≤Tb≤Tw≤c1g(n)for n>n0
其中,
n0=max(n1,n2)
,另外
Tb
的运行时间肯定小于
Tw
。这样就得证明。
3.1-7
对任意的正数
c>0
有:
0≤f(n)<cg(n)for n>n10≤cg(n)<f(n)for n>n2
令 n0=max(n1,n2) 有: f(n)<cg(n)<f(n) ,显然矛盾,所以交集为空。
3.1-8
Ω(g(n,m))={f(n,m):存在正常量c,n0和m0,使得对所有n≥n0或m≥m0,有0≤cg(n,m)≤f(n,m)}
Θ(g(n,m)={f(n,m):存在正常量c1,c2,n0和m0,使得对所有n≥n0或m≥m0,有0≤c1g(n,m)≤f(n,m)≤c2g(n,m)})