1 题目
更多递归式的例子
给出下列递归式的渐近上下界,给出的界尽量紧确。
2 分析与解答
- T(n)=3T(n/2)+nlgn,根据主定理T(n)=Θ(nlog2 3)
- T(n)=5T(n/5)+n/lgn,简单画出递归树,可得
T(n)=∑i=0log5 n -1n/lg(n/5i ) + nT(1)=n∑i=0log5 n -1(1/lg(n/5i )) + Θ(n)=(n/lg5)∑i=0log5 n -1(1/(log5 n -i)) + Θ(n)
令log5 n - i =m,则T(n) = (n/lg5)∑m=1log5 n(1/m) + Θ(n)=(n/lg5)(lnlog5 n+O(1)) + Θ(n) = Θ(nlglgn) + O(n) + Θ(n)=Θ(nlglgn)+Θ(n) = Θ(nlglgn),证明略
- T(n)=4T(n/2)+n2 n1/2=Θ(n5/2)
- T(n)=3T(n/3 + 5)+n/2,用替换法,猜测此式与T(n)=3T(n/3)+n/2的解相同,所以 T(n)=Θ(nlgn),因为T(n)>3T(n)+n/2,所以渐近下界是一定的;对于渐近上界,利 用传递性,假设T(n)=O((n-5)lg(n-5)),易证成立,所以T(n)=O(nlgn)
- T(n)=2T(n/2)+n/lgn=Θ(nlglgn)
- T(n)=T(n/2)+T(n/4)+T(n/8)+n,简单画出递归树,可得,
对于渐近下界
T(n) >= ∑i=0log8 n -1(7/8)in + 3log8 nT(1)>n,所以T(n)=Ω(n)
对于渐近上界
T(n) <= ∑i=0lgn -1(7/8)in + 2T(1)<= ∑i=0\infinity(7/8)in + 2T(1)= 8n + Θ(1),所以T(n)=O(n})
所以T(n)=Θ(n) - T(n)=T(n-1)+1/n,画出递归树,可得
T(n)=∑i=0n-11/(n-i)+T(1)=∑j=1n1/j=lnn+O(1)+Θ(1)=Θ(lgn)
- T(n)=T(n-1)+lgn,画出递归树,可得
T(n)=∑i=0n-1lg(n-i) + T(1)=lg(n*(n-1)*…*2*1)+Θ(1)<=lg(n*n*…*n*n)+Θ(1)=nlgn+Θ(1),所以T(n)=O(nlgn)
同时,T(n)>=lg(n/2*n/2*…*n/2*(n/2-1)*…*2*1)+Θ(1)>=lg(n/2)n/2+Θ(1)=n/2*lgn-n/2+Θ(1)>=n/2*lgn,所以T(n)=Ω(nlgn),所以T(n)=Θ(nlgn) - T(n)=T(n-2)+2lgn,画出递归树,可得
T(n)=∑i=0n/2-12lg(n-2i) + Θ(1)=2lg(n*(n-2)*..*4*2)+Θ(1)=Θ(nlgn)
- T(n)=n1/2T(n1/2) + n,T(n)/n=T(n1/2)/n1/2+1,令S(n)=T(n)/n,得S(n)=S(n1/2)+1,根据4-1(h)得S(n)=Θ(lglgn),T(n)=nS(n),T(n)=Θ(nlglgn)
本文详细解析了几种典型的递归式,通过主定理、递归树等方法给出了每种递归式的渐近上下界,并对每个递归式进行了严格的证明。
3475

被折叠的 条评论
为什么被折叠?



