我一直试图解决这个问题,但我找不到任何东西。
我的方法:
n=2^k
然后S(k) = k * S(k/2) + c*k
现在,我不知道接下来该做什么。你有什么想法吗?
答案 0 :(得分:3)
如果你尝试将其写下几个递归周期,你会得到这个:
2*n^(1/2) [2*n^(1/4) (2*n^(1/8) . T(n^(1/16) + c log n) + c log n] + c log n
如果你试图计算它,那就是(assymptoticaly):
2^log n * n^(1/2 + 1/4 + 1/8 + ... + 1/log n) + 2^(log n) * n(1/2 + 1/4 + 1/8 + ... + 1/log n) * c * log n
通过系列的完成并感谢2^log_2 n = n
你获得(assymptoticaly):
n^2 + c * n^2 * log n
实际上是assymptoticaly:n^2(1 + c * log n) = n^2(c * log n) = n^2 * c * log n
结果:T(n) = O(c * n^2 * log n
)