[英]Find complexity of the following recurrence: T(n) = T(n/2) + log(n)
[英]How do I find the asymptotic tight bound to this recurrence? 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)
for 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
证明同样成立是相似的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.