1

问题:

使用重新代入求解以下递推方程:

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

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

4

1 回答 1

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)by 2T(n-i-1) + (n-i)

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

于 2012-12-10T12:43:37.503 回答