使用主定理求解递归T(n)= T(n / 2)+ O(1)?

时间:2013-05-21 23:32:34

标签: algorithm complexity-theory big-o recurrence master-theorem

我正在尝试使用主定理及其重现概念来解决递归关系以找出算法的复杂性,我该如何证明:

  

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

  

T(n) = O(log(n)) ?

任何解释都会得到赞赏!!

1 个答案:

答案 0 :(得分:10)

你的复发是

  

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

由于主定理适用于表格的重现

  

T(n)= aT(n / b)+ n c

在这种情况下你有

  • a = 1
  • b = 2
  • c = 0

由于c = log b a(因为0 = log 2 1),你处于主定理的case two,它解决了Θ( n c log n)=Θ(n 0 log n)=Θ(log n)。

希望这有帮助!