与斐波那契序列有些相似
算法的运行时间由
给出T (n) =T (n-1)+T(n-2)+T(n-3) if n > 3
= n否则该算法的顺序是?
如果通过归纳法计算,那么
T(n) = T(n-1) + T(n-2) + T(n-3)
让我们假设T(n)是某个函数aⁿ
然后aⁿ= a n-1 + a n-2 + a n-3
=> a³=a²+ a + 1
给出复杂的解也是上述方程的根源
a = 1.839286755
a = 0.419643 - i ( 0.606291)
a = 0.419643 + i ( 0.606291)
现在,我该如何进一步处理,还是有其他方法吗?
答案 0 :(得分:3)
如果我没记错的话,当你确定了特征方程的根时,则T(n)可以是那些根的幂的线性组合
T(n)=A1*root1^n+A2*root2^n+A3*root3^n
所以我想这里最大的复杂性就是 (maxroot)^ n其中maxroot是你的根的最大绝对值。所以对于你的情况来说它是~1.83 ^ n
答案 1 :(得分:0)
渐近分析是针对程序的运行时间进行的,这些程序为我们提供了如何随输入增加运行时间。
对于递归关系(就像你提到的那样),我们使用两个步骤:
您可以在任何算法文本中找到这些方法的解释(例如Cormen)。
答案 2 :(得分:0)
它可以像3 + 9 + 27 + ...... 3 ^ n那样近似为O(3 ^ n)