我如何找到这种复发的渐近紧束缚? T(n) = T(n-2) + n log (n/2)

问题描述

T(n-2) 部分让我有点困惑,因为如果我找到 T(n-2) 并将其代入 T(n) = T(n-2) + n log(n/2),对于这部分,k = 2 还是 3?

另外,T(n-1) 会发生什么?

我只是不承认它还是我应该如何应用它来解决这个重复问题?

我将如何处理并解决这个问题? (我是用替换方法解决的,不知道怎么解决

T(n) = T(n-2) + nlog(n/2)

解决方法

递归关系的解由两个独立的部分组成,偶数项和奇数项。您需要两个初始值,一个用于 T_0,一个用于 T_1。

考虑 n 偶数,然后 T(n) = T(2k)k=n/2。 让F(k) = T(2k)。我们的方程变成

F(k) = F(k-1) + 2 k log(k)
     = 2 k log(k) + 2 (k-1) log(k-1) + .. 2 1 log(1) + T_0
     = 2 sum i log(i) + T_0

现在我们知道在和 log(i) < log(k) 中,所以我们得到

F(k) < 2 log(k) sum i + T_0
     = 2 log(k) k * (k+1) / 2 + T0
     = log(k) k * (k+1) + T_0
     = O(k^2 log(k))

所以,即使是 n:

T(n) = O(n^2 log(n))

证明奇数 n 的相同成立是类似的。