我如何使用主定理来解决这种复发?
T(n)= 4T(n / 2)+ n 2 + logn
我不知道该怎么做,但我很确定使用Master Theorem可以解决它。我是否必须忽略其中一个条款?感谢任何帮助。谢谢。
答案 0 :(得分:3)
Master Theorem适用于可以写成
的函数T(n)= aT(n / b)+ f(n)
这里,你有a = 4,b = 2,f(n)= n 2 + log n。请注意,我们将“n 2 + log n”组合为f(n)项,而不是将其视为两个单独的术语。
既然我们已经这样做了,我们可以直接应用主定理。请注意,log b a = log 2 4 = 2且f(n)=Θ(n 2 ),因此通过主定理这解决了Θ(n 2 log n)。这种作用的原因是n 2 + log n =Θ(n 2 ),而主定理只关注f(n)的渐近复杂性。事实上,任何这些重现都可以用同样的方式解决:
T(n)= 4T(n / 2)+ n 2 + 137n + 42
T(n)= 4T(n / 2)+ 5n 2 + 42n log n + 42n + 5 log n + 10 6
T(n)= 4T(n / 2)+ 0.5n 2 + n log 137 n + n log n + n 2 / log n + 5
希望这有帮助!