求解递推方程

时间:2017-04-13 00:50:53

标签: algorithm iteration big-o relation recurrence

我的教授给了我一些练习题。但它们不是作业或评分,它意味着即将进行的测验。我会问我的教授,但她因缺乏帮助而臭名昭着。但我正在努力解决这个问题,并希望得到一些帮助。

问题如下:

如果n = 1,则p(n)= 1

如果n> = 2,则p(n-1)+ n(n-1)

她提示使用求和,并假设n = 2 ^ k

到目前为止,这就是我所拥有的:

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

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

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

因此......

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

这是关于什么时候我被难倒,但我试图推进并猜测要使用哪个总和。

T(n)= T(n-k)+(n(n + 1)(2n + 1))/ 6

1 个答案:

答案 0 :(得分:1)

好吧,通过伸缩系列,T(n) = 1 + sum(i(i-1) for i = 2..n)。根据{{​​3}},这是n(n-1)(n + 1)/ 3 + 1。

或者如果您想手动完成,

sum(i(i-1) for i = 2..n)
= sum(i(i-1) for i = 1..n) 
= sum(i^2 for i = 1..n) - sum(i for i = 1..n)

然后使用众所周知的方程式来表示连续平方和,以及连续整数的总和。