在 Cormen's Introduction to Algorithm 的书中,我试图解决以下问题:
证明递归关系 T(n) = T(n-1) + n 的解是 O(n2 ) 使用替换
(没有给出初始条件,这是问题的全文)
但是,我似乎无法找出正确的过程。教科书只简要介绍了它,我搜索过的大多数网站似乎都假设我已经知道如何。如果有人能给我一个简单的分步指南,甚至是一个链接,我将不胜感激。
对于踢球,这是我迄今为止的尝试:
T(n) <= c(n^2)
<= c(n-1)^2 + n
<= c(n^2 -2n +1) + n (我很确定不是 < c( n^2))
再次感谢。
更新:这是我试图完成的方法的一个示例,以避免混淆。
证明解为 O(nlog(n))
T(n) = 2T([n/2]) + n
代入法要求我们证明 T(n) <= cn*lg(n) 可供选择常数 c > 0。假设这个界限适用于所有正数 m < n,其中 m = [n/2],产生 T([n/2]) <= c[n/2]*lg([n/2] )。将其代入递归得到以下结果:
T(n) <= 2(c[n/2]*lg([n/2])) + n
<= cn*lg(n/2) + n
= cn* lg(n) - cn*lg(2) + n
= cn*lg(n) - cn + n
<= cn*lg(n)
只要 c >= 1 最后一步就成立
我可以遵循这个逻辑很好,但是当我尝试复制上述问题中的步骤时,我被卡住了。