algorithm - 替换方法 : Why this recurrence changes inequality & equality sign And Why inductive step used smaller values as a next value

标签 algorithm math computer-science recurrence induction

我正在阅读 CLRS 书籍以了解使用替换方法解决递归问题并找到以下示例:

   Recurrence, T(n) = 2T(n/2) + n
   Guess Solution, T(n) = O(nlgn)
   Proof that T(n) ≤ cnlgn

enter image description here

我的问题是:

Q1:为什么解方程在不等号和等号≤ , = 之间改变符号?

Q2:我们知道在数学归纳法中,归纳步是下一个值,所以如果当前值为n那么下一个值应该是(n+1)。但是为什么他们使用 n/2 作为下一个归纳步骤?

请帮我解释一下这些问题。它会帮助我理解替代方法。谢谢

最佳答案

Q1 : 这两个等式只是对上一行的重写,因为 log(a/b) = log(a) - log(b) 和 log(2) = 1

Q2:对于归纳步​​骤,由于我们将 T(n) 写入 T(n/2) 的函数中,因此一步直接是一个 2 因子。如果递推公式为 T(n) = f(T(n-1)),您将拥有带 1 加法的经典归纳步骤。

另请注意,您在此证明中假设 T(1) 可以在常数时间内完成。

关于algorithm - 替换方法 : Why this recurrence changes inequality & equality sign And Why inductive step used smaller values as a next value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38782589/

相关文章:

algorithm - 我可以使用 if 语句而不是三重嵌套 for 循环来使我的算法更快吗?

algorithm - 给出输出敏感但输入不敏感的算法示例

algorithm - 矩阵的就地转置

computer-science - 程序的控制流程图

computer-science - 评估出版物的影响

algorithm - 找到所有可能的矩形放置可能性

c++ - 连续分布的指数衰减随机分布和离散化

math - 形容词功能

math - 无法让我的对象指向鼠标

javascript - 是否可以以非递归方式遍历 JavaScript 中的对象?