function(int n)
{
if(n<=1)
return;
for(int i=1;i<=3;i++)
function(n-1);
}
现在要计算这个问题的复杂性,我们必须使用减法的主定理。现在我推导出T(n)=c+3T(n-1)
的{{1}}的递归关系。但是如何计算这个问题的复杂性使用减法的主定理,因为在主定理n>1
中d> 0。但是这里是c,它是一个常数项而不是格式f(n)=O(n^d)
。那么如何解决这个问题?
答案 0 :(得分:0)
减法和征服复发的主人定理适用于表格的重现
T(n) = aT(n-b) + f(n). iff f(n) in O(n^d) for some d >= 0
在这种特殊情况下,您有以下内容:
a = 3, b = 1, f(n) = c.
让d = 0, f(n)
在O(n^d) = O(1)
中,因为c是常数。
所以我们现在可以应用主人定理
T(n)
因O(n^d * a^(n/b))
a > 1
位于T(n) in O(n^0 * 3^(n/1)) <=> O(3^n)
现在插入我们的值,我们得到
server
有用的来源:https://www.eecis.udel.edu/~saunders/courses/320/10f/recurrence-relations.pdf