求解递归关系:T(n)= T(n-1)+ n-1

时间:2018-11-12 21:10:59

标签: algorithm recurrence

已要求我解决该重复关系。我得到了下一个解决方案:https://imgur.com/a/xWoTI40

所以我决定问我的老师是否正确。他告诉我不是。并且这是正确的解决方案:https://imgur.com/a/CGD0ta8

我现在一无所有。我最大程度地试图理解为什么我的错。最我认为这是正确的。

有人可以解释吗?

1 个答案:

答案 0 :(得分:3)

您的解决方案是正确的。这是一种具有相同结果的不同方法:

t(1) = 0 (given)
t(2) = t(1) + 1 = 1
t(3) = t(2) + 2 = 1 + 2 = 3
t(4) = t(3) + 3 = 1 + 2 + 3 = 6
...
t(n) = 1 + 2 + ... + (n-1) = n * (n - 1) / 2 = Theta(n^2).

第二个=符号后,老师的解决方案是错误的。这是老师写的:

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

但是实际上以下是正确的:

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

这实际上就是您所得到的。看来老师放弃了一个n学期。

事实上,教师的解决方案以占主导地位的-n^2结尾,这显然是错误的,就像所有t(n) >= 0的{​​{1}}一样。