如何解决递归T(n)= T(n / 2)+ T(n / 4),T(1)= 0,T(2)= 1是T(n)=Θ(nlgφ),其中φ是黄金比例?

时间:2015-12-08 08:01:04

标签: algorithm asymptotic-complexity recurrence

我尝试了递归树方法,因为主方法不适用于此重复,但似乎它也不是正确的方法,任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

我在推导中某处出现错误,或者你的陈述中有错误。

您可以通过展开递归来完成此操作:

T(n) = T(n/2) + T(n/4) = 2T(n/4) + T(n/8) 
T(n) = 3T(n/8) + 2T(n/16)
T(n) = 5T(n/16) + 3T(n/32)
....
T(n) = F(i + 1)T(n/2^(i-1)) + F(i)T(n/2^i)

F(i)如果是Fibonacci number

使用边界条件T(n/2^i) = T(1)n = 2^i - > i = log2(n)

T(n) = F(log2(n) + 1) T(2) + F(log2(n)) T(1)等于F(log2(n) + 1)

现在使用这个公式:

enter image description here

并将其剥离为仅phi^n(平方根5与复杂性无关,而第二个thi^n -> 0如果n->inf)则会得到:

T(n) = phi^(log2(n)+1) = phi * phi^log2(n)等于O(n^log2(phi)),其中log2(phi) = 0.694

P.S。将其视为提示或建议。现在你不需要大学或教授来学习。决心和毅力更重要。不要害怕尝试做某事。您已经问过this question并声称尝试了失败的主方法。人们建议你采用一种完全不同的方法,在这里你声称你完全尝试了山姆并没有尝试过在以前的情况下工作过的方法。