算法导论4.5习题
- 4.5-1 对下列递归式, 使用主方法求出渐近紧确界。
- 4.5-2 Caesar教授想设计一个渐近快于Strassen算法的矩阵相乘算法。他的算法使用分治方法,将每个矩阵分解为 n / 4 × n / 4 {n/4}\times{n/4} n/4×n/4的子矩阵,分解和合并共花费 Θ n 2 \Theta{n^2} Θn2时间。他需要确定,他的算法需要创建多少个子问题,才能击败Strassen算法。如果他的算法创建a个子问题,则描述运行时间 T ( n ) T(n) T(n)的递归式为 T ( n ) = a T ( n / 4 ) + Θ n 2 T(n)=aT(n/4)+\Theta{n^2} T(n)=aT(n/4)+Θn2。Caesar教授的算法如要要渐进快于Strassen算法,a的最大整数值应是多少?
- 4.5-3 使用主方法证明: 二分查找递归式 T ( n ) = T ( n / 2 ) + Θ ( 1 ) T(n)=T(n/2)+\Theta(1) T(n)=T(n/2)+Θ(1)的解是 T ( n ) = Θ ( lg n ) T(n)=\Theta(\lg{n}) T(n)=Θ(lgn)。(二分查找的描述见练习题2.3-5)。
- 4.5-4 主方法能应用于递归式 T ( n ) = 4 T ( n / 2 ) + n 2 lg n T(n)=4T(n/2)+n^{2}\lg{n} T(n)=4T(n/2)+n2lgn吗?请说明为什么可以或者为什么不可以。给出这个递归式的一个渐近上界。
- 4.5-5 考虑主定理情况3的一部分:对某个常数 c < 1 c<1 c<1, 正则条件 a f ( n / b ) ≤ c f ( n ) af(n/b)\le cf(n) af(n/b)≤cf(n)是否成立。给出一个例子,其中常数 a ≥ 1 , b > 1 a\ge{1},b>1 a≥1,b>1且函数 f ( n ) f(n) f(n)满足主定理的情况3中除正则条件外的所有条件。