考虑这种递归关系:
T(n) = T(n-1) * T(n-2) n>2
T(1) = 1, T(2) = 2
我怎么解决?最后:T(n) = O(?)
我认为我们应该记录双方或类似事情。 但我不知道要继续。
答案 0 :(得分:1)
首先取两个部分的对数得到:
log(T(n)) = log(T(n-1)) + log(T(n-2))
现在您将log(T(n))
替换为K(n)
,因此您必须解决问题K(n) = K(n-1) + K(n-2)。做类似的事情你会得到解决方案
K(n)= c1 * F(n)+ c2 * L(n),其中F(n)是Fibonacci number,L(n)是Lucas number和c1,c2只是一些常数。所以现在要得到你的答案,你只需要恢复对数。
所以你的解决方案是e^(c1 * F(n) + c2 * L(n))
。根据我之前的解释,其复杂性为O(e^(phi^n))