递归树和渐近复杂度:T(n)= T(n / 3)+ T(n / 2)+ n

时间:2014-02-17 22:07:59

标签: algorithm recursion big-o time-complexity recurrence

我正在尝试使用递归树来找到此函数的渐近复杂性:

  

T(n)= T(n / 3)+ T(n / 2)+ n 如果 n> 5 ;否则 T(n)= 1

我已经制作了递归树,并确定每个级别的每个级别都有_(5/6)^ k * n_复杂度。从这里我不知道该怎么办。我知道我必须弄清楚深度的复杂性,但不确定如何做到这一点。

2 个答案:

答案 0 :(得分:2)

作为提示,使用几何系列之和的公式:

  

1 +(5/6)+(5/6) 2 +(5/6) 3 + ... = 1 /(1 - 5 / 6)= 6

希望这有帮助!

答案 1 :(得分:1)

使用Akra-Bazzi method可以轻松解决这些类型的递归。在您的情况下a1=a2=1b1 = 1/3b2=1/2g(n) = n

解决1/3^p + 1/2^p = 1您的p=0.7878。现在你必须解决一个问题,你已经完成了。

enter image description here

这由x支配,因此您的复杂性为O(n)