T(n)= T(n / 2)+ T(n / 4)使用迭代方法解决这种复现

时间:2016-10-11 21:11:14

标签: algorithm time-complexity big-o recurrence

如何求解递推方程

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

对于基本情况T(n)= 1

我已经检查过thisthis了解线索,但它并没有帮助我使用迭代方法解决它

我只需要了解一般方程式。

1 个答案:

答案 0 :(得分:2)

我不知道如何使用"迭代方法"解决这个问题。

但是你的复发关系与斐波纳契数的相似性之间存在相似性,这可以用来找到解决方案。

T(2 ^ k)= T(2 ^(k-1))+ T(2 ^(k-2))。因此假设T(1)= T(2)= 1,T(2 ^ k)= Fib(k)。因此,对于n为2的幂,T(n)= Fib(lg(n))。由于Fib(n)= Theta(phi ^ n),T(n)= Theta(phi ^(lg n))= Theta(n ^ lg(phi))〜= n ^ 0.7

这里Fib(n)是第n个斐波那契数,phi =(1 + sqrt(5))/ 2。