通过替换求解递归T(n)= T(n / 2)+Θ(1)

时间:2014-09-15 18:01:43

标签: recursion big-o

所以我理解如何在重现看起来像这样:

T(n)= 2T(n / 2)+ n

在那种情况下,我会猜到答案是O(nlogn),然后使用归纳来证明它。但对于这一个,Θ(1)抛弃了我。你会怎么做?如果你能够制作出令人惊叹的感应步骤。

非常感谢你!

1 个答案:

答案 0 :(得分:3)

尝试递归替换该值

T(n) = T(n/2) + Θ(1)
 = (T(n/4) + Θ(1)) + Θ(1)  = T(n/4) + Θ(1) + Θ(1)  = T(n/4) + 2*Θ(1)
 = (T(n/8) + Θ(1)) + 2*Θ(1)= T(n/8) + 3*Θ(1)
 = T(n/16) + 4*Θ(1)
 = T(n/32) + 5*Θ(1) [ T(n/2^5) + 5*Θ(1) ]
 .                                           
 .                                           
 = T(1) + log2(n)*Θ(1)
 = O(log2(n))