递归码的复杂性分析

时间:2015-11-03 06:15:17

标签: time-complexity master-theorem

 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)。那么如何解决这个问题?

1 个答案:

答案 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