你能否检查一下到目前为止这种替换是否合适?

时间:2012-12-10 02:01:57

标签: algorithm math equation substitution recurrence

  

问题:

     

使用重新取代来解决以下递推方程式:

     

T(N)= 2T(n-1)+ n; n> = 2且T(1)= 1

到目前为止,我有这个:

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

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

= 4T(n-2)+ 3n -2

= 2(4T(n-3)+ 3(n-1)-2)+ n

= 2(4T(n-3)+ 3n -3 -2)+ n

= 2(4T(n-3)+ 3n -5)+ n

= 8T(n-3)+ 6n-10 + n

= 8T(n-3)+ 7n -10

我只是想知道到目前为止,我接近这个的方式是正确的。 感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

这一步是错误的:

= 4T(n-2) + 3n -2

= 2(4T(n-3) + 3(n-1) -2) + n

应该是

= 4T(n-2) + 3n -2

= 4(2T(n-3) + (n-2)) + 3n - 2

您将T(n-i)替换为2T(n-i-1) + (n-i)

除此之外,我认为你错了。老师要你做的是感觉 T(n)的价值。在这种情况下,您会看到每次迭代时,将第一个系数乘以2,最后得到一个像an+b这样的成员。这意味着T(n) = 2^n + O(n)因为只有最大的成员才有意义。