📜  门|门 IT 2008 |第 42 题

📅  最后修改于: 2021-09-24 06:26:12             🧑  作者: 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 log √(n)答案:(一)
说明:请注意,该问题询问的是精确解。主定理以渐近符号的形式提供结果。所以我们不能在这里应用大师定理。我们可以使用简单的扩展或递归树方法来解决这个递归问题。

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) (因为根超过 2 的值为 1.414)
现在通过查看选项使用满足选项 A 的 n=2。

这个问题的测验