带循环的一阶线性递归(求和)

First Order Linear Recurrences with loops (summation)

我有以下复发:

T(n) = Σk=0n-1 T(k) + n + 3

我的教授说这可以简化为

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

这怎么可能?

这种简化是不正确的。这些重复会返回不同的值。

您没有为重复指定基本情况,因此我们假设基本情况是 T(0)。那么我们有

  • T(0) = T(0)
  • T(1) = T(0) + 1 + 3 = T(0) + 4
  • T(2) = T(0) + (T(0) + 4) + 2 + 3 = 2T(0) + 9
  • T(3) = T(0) + (T(0) + 4) + (2T(0) + 9) + 3 + 3 = 4T(0) + 19
  • ...
  • T(k) = 2kT(0) + 3k + k(k + 1) / 2

这与您从 T(n) = 2T(n - 1) + 1 获得的模式不匹配:

  • T(0) = T(0)
  • T(1) = 2T(0) + 1
  • T(2) = 2(2T(0) + 1) + 1 = 4T(0) + 3
  • T(3) = 2(4T(0) + 3) + 1 = 8T(0) + 7
  • ...
  • T(k) = 2kT(0) + 2k+1 - 1.

这么看来,要么是某处沟通不畅,要么是提供给您的答案不正确。