算法导论3.1练习题

时间:2022-08-20 00:16:03

3.1-1:
0c1(f(n)+g(n))max(f(n),g(n))c2(f(n)+g(n))
0c1(x+y)x+y+|xy|2c2(x+y)
0|xy|x+y
012(x+y)x+y+|xy|2x+y
c1=12,c2=1
3.1-2
0c1(nb)(n+a)bc2(nb)n+an+|a|  n+a>0 |a|nn+a2n n+a0  n+an|a| n+an|a|n+a12n(a)||n+a1|a|+1nc1=12||1|a|+1 , c2=2,n0=2|a| || |a|+1
3.1-3

O(n2) 是一个Set并不是具体的运行时间,如果要转换,则运行时间是 0f(n)c2g(n),T(n)f(n) 是没有意义的

3.1-4

2n+1=O(2n)22n=c22nc2=222n=O(2n)22n=c22n2n=c20<n<c222nO(2n)

3.1-5

​定理证明需要充分性和必要性:
​ 充分性: f(n)=Θ(g(n))f(n)=O(g(n))f(n)=Ω(g(n));ΘN0,C0,C1,使n>N0C0g(n)f(n)C1g(n),OΩf(n)=O(g(n))f(n)=Ω(g(n))

​ 必要性: f(n)=O(g(n))f(n)=Ω(g(n))f(n)=Θ(g(n));OΩN1,C1使n>N1f(n)C1g(n);N2,C0使n>N2f(n)C0g(n);N0=max(N1,N2),n>N0,C0g(n)f(n)C1g(n),f(n)=Θ(g(n))
​所以,得证

3.1-6

可易证,根据定义 Θ 给出了上下边界,而 O,Ω 分别定义了上下边界

3.1-7

letf(g(n))ω(g(n))f=o(g(n))=ω(g(n))o=limnf(n)g(n)=0;ω=limnf(n)g(n)oωf=null

3.1-8

Ω(g(n,m))={f(n,m):constants:c,n0,m0;if:nn0 and mm0;thus:0cg(n,m)f(n,m);}