简体   繁体   English

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

[英]How do I find the asymptotic tight bound to this recurrence? T(n) = T(n-2) + n log (n/2)

The T(n-2) part confuses me a bit because if I find T(n-2) and substitute it into T(n) = T(n-2) + n log(n/2), for this part, does k = 2 or 3? T(n-2) 部分让我有点困惑,因为如果我找到 T(n-2) 并将其代入 T(n) = T(n-2) + n log(n/2),对于这部分, k = 2 还是 3?

Also, what happens with T(n-1)?另外,T(n-1) 会发生什么?

Do I just not acknowledge it or how am I supposed to apply it to solve this recurrence?我只是不承认它还是我应该如何应用它来解决这种复发?

How would I approach this recurrence and solve it?我将如何处理这种复发并解决它? (I approached it using the substitution method, but am not sure how to solve it) (我使用替换方法接近它,但不知道如何解决它)

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

The solution to the recurrence relation consists of two indepenedent parts, the even entries and the odd entries.递推关系的解由两个独立的部分组成,偶数项和奇数项。 You need two initial values, one for T_0 and one for T_1.您需要两个初始值,一个用于 T_0,一个用于 T_1。

Consider n even, then T(n) = T(2k) for k=n/2 .考虑n偶数,然后T(n) = T(2k) for k=n/2 Let F(k) = T(2k) .F(k) = T(2k) our equation becomes我们的方程变成

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

Now we know that within the sum log(i) < log(k) , so we get现在我们知道在总和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))

so, for even n:所以,对于偶数 n:

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

Proving the same holds for odd n is similar.对奇数n证明同样成立是相似的。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM