📜  门| Gate IT 2008 |第42章

📅  最后修改于: 2021-06-28 21:56:50             🧑  作者: Mango

当n = 2 2k且k≥0时,递归关系

T(n)=√(2)T(n / 2)+√n,T(1)= 1

计算结果为:
(A) √(n)(log n +1)
(B) √(n)(log n)
(C) √(n)日志√(n)
(D) n对数√(n)答案: (A)
说明:请注意,该问题询问的是确切的解决方案。主定理以渐近符号的形式提供结果。所以我们不能在这里应用大师定理。我们可以使用简单的扩展或递归树方法解决此递归问题。

T(n) = √(2) T(n/2) + √n
     = √(2) [√(2) T(n/4) + √(n/2) ] + √n
     = 2 T(n/4) + √2 √(n/2) +√n
     = 2[ √2 T(n/8) + √(n/4) ]+√2 √(n/2)+√n
     = √(2^3) T(n/8)+ 2 √(n/4) + √2 √(n/2) +√n
     = √(2^3) T(n/8)+√n +√n +√n
     = √(2^3) T(n/(2^3))+3√n
     .............................................
     = √(2^k) T(n/(2^k))+k√n
     = √(2^logn) + logn √n
     = √n + logn √n
     = √n(logn +1)


替代解决方案:

这个问题可以很容易地通过替换方法的外观来完成:
T(1)= 1;给予。
现在在给定的递归关系中使用n = 2,得出2 *(1.414)(因为root的值大于2为1.414)
现在通过查看选项使用满足选项A的n = 2。

这个问题的测验