我试图在我的算法教科书中通过归纳理解一个证明。这里的作者使用归纳证明T(n)总是大于2 ^(n / 2)(这是用于使用递归算法计算第n个斐波纳契数):
我不明白的是最后一步,他在操纵方程式。他是怎么来的:
> 2^(n-1)/2 + 2^(n-2)/2 +1
到
> 2^(n-2)/2 + 2^(n-2)/2 +1
他只是随机将2^(n-1)/2
更改为2^(n-2)/2
。这是一个错误吗?
感谢。
答案 0 :(得分:5)
这是故意的,如果你仔细观察它是不公平的,他会使用它完成诱导步骤。
注意拼写错误,应该说“我们必须证明T(n)> 2 ^(n / 2)”而不是<。
答案 1 :(得分:2)
我认为特定的一步是假设:
T(n-1) > T(n-2)
因此,我们可以形成代数不等式:
T(n-1) + T(n-2) + 1 > T(n-2) + T(n-2) + 1
我们可以从右侧击落+ 1(因为对于在LESSER方面减去的任何东西,不平等仍然适用):
T(n-1) + T(n-2) + 1 > T(n-2) + T(n-2)
由此,替换我们的T(m)= 2 ^(m / 2)(对于小于n和> 2的任何东西,其中n-1和n-2都符合条件):
2^(n-1)/2 + 2^(n-2)/2 + 1 > 2^(n-2)/2 + 2^(n-2)/2
这会让你迈出这一步。正如我上面的海报所说的那样故意这样做,达到2 ^(n / 2)。