algorithm - 与递归混淆

标签 algorithm recursion

<分区>

假设我有一个等式的递归:T(n)= T(n-2) + c .. 这意味着我们将问题的大小分解为 2 和这个算法的阶数是 O(n) 是对的!现在,假设我的等式变为,T(n)= T(n-2)+cn .. 为什么阶变为 n2(2 的次方)?我不想要任何递归树方法或任何其他方法来证明它变成了 n2 ..只要告诉我 ccn 在这里有什么区别?

最佳答案

Just tell me what does c and cn make the difference here ?

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

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

如果问题规模增加一,您需要投入的额外工作是c , 这是常数。

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

如果问题大小增加一,您需要投入的额外工作就是一个c比上次将问题规模增加一倍。

即假设您从 n 增加了问题规模至 n + 1 , 添加了 10c的额外工作。当您现在从 n + 1 增加问题规模时至 n + 2 , 您将需要添加额外的 11c工作。

我们以这个系列结束:

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

关于algorithm - 与递归混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12768532/

相关文章:

algorithm - 树的分而治之算法

algorithm - 有向无环图的拓扑排序为阶段

Java线程安全递归

algorithm - 重新访问树上的递归函数 (DFS) 中的某些节点

c# - c#中的递归自定义配置

Python:多对多比较以找到所需的数据集

algorithm - 求方程的积分解

algorithm - D. B. Johnson 的 "elementary circuits"算法应该产生不同的结果吗?

recursion - 连续两次相同的 echo 调用在 Vim 函数中具有不同的输出

c - 为什么函数在代码中没有返回值时返回值给前一个函数?