4-1(递归式例子)对下列每个递归式,给出T(n)的渐进上界和渐进下界。假定 $n\leq2$时T(n)时常数。给出尽量紧确的界,并验证其正确性。
不会主方法的先看一下这篇博客:https://blog.csdn.net/qq_40512922/article/details/96932368
a. $T(n)=2T(n/2)+n^4$
证明:有$a=2,b=2,n^{log_ba}=n$,$f(n)=f(n^4)=\Omega(n^{\epsilon+1})$,其中$\epsilon=3$。下面证明正则条件:$\exists c<1,af(n/b)\leq cf(n)$
当 $c=1/8$时,显然成立。因此$T(n)=\Theta(f(n))=\Theta(n^4)$
b. $T(n)=T(7n/10)+n$
证明:有$a=1,b=10/7,n^{log_ba}=1$,$f(n)=n=\Omega(n^{\epsilon+0})$,其中$\epsilon=1$,下面证明正则条件:$\exists c<1,af(n/b)\leq cf(n)$
当$c=7/10$时,显然成立。因此$T(n)=\Theta(f(n))=\Theta(n)$
c. $T(n)=16T(n/4)+n^2$
证明:有$a=16,b=4,n^{log_ba}=n^2$,$f(n)=n^2=\Theta(n^2)$。
因此,$T(n)=\Theta(nlgn)$。
d. $T(n)=7T(n/3)+n^2$
证明:有$a=7,b=3,n^{log_ba}\approx n^{1.7}$,$f(n)=n^2=\Omega(n^{1.7+\epsilon})$,其中$\epsilon=0.3$,下面证明正则条件。
当$c=7/9$时,显然成立。因此$T(n)=\Theta(f(n))=\Theta(n^2)$
e. $T(n)=7T(n/2)+n^2$
证明:有$a=7,b=2,n^{log_ba}\approx n^{2.8}$,$f(n)=n^2=O(n^{2.8-\epsilon})$,其中$\epsilon=0.8$。
因此$T(n)=\Theta(n^{log_ba})=\Theta(n^{log_27})$
f. $T(n)=2T(n/4)+\sqrt n$
证明:有$a=2,b=4,n^{log_ba}=n^{0.5}$,$f(n)=n^{0.5}=\Theta(n^0.5)$。
因此,$T(n)=\Theta(f(n)lgn)=\Theta(\sqrt{n}lgn)$
g. $T(n)=T(n-2)+n^2$
证明: