与递归混淆

时间:2012-10-07 11:45:08

标签: algorithm recursion

假设我有一个带有等式的递归:T(n)= T(n-2) + c ..这意味着我们因此将问题大小分解为2倍,并且该算法的顺序为O(n),这是正确的!现在,假设我的等式成为T(n)= T(n-2)+cn ..为什么订单变为n2(2的幂)?我不希望任何递归树方法或任何其他方法来证明它变成n2 ..请告诉我ccn在这里有什么区别?

1 个答案:

答案 0 :(得分:1)

  

告诉我c和cn在这里有什么区别?

这意味着,额外的工作总是增加一c(或T(n -2) + cn的情况下增加两个):

  

T(n)= T(n-1)+ c

如果问题规模增加1,您需要投入的额外工作是c,这是不变的。

  

T(n)= T(n-1)+ cn

如果问题规模增加1,则需要投入的额外工作量比上次将问题规模增加一倍时增加c

即。假设您将问题大小从n增加到n + 1,这增加了10c个额外工作。现在,当您将问题大小从n + 1增加到n + 2时,您需要额外添加11c个工作。

我们最终得到了这个系列:

d + c + 2c + 3c + 4c + 5c + ...