尝试解决此递归问题:
T(n) = 4T(n/2) + 2500 - sqrt(n)
here a = 4, b=2 but my f(n) = 2500 -sqrt(n)
n^ logb(a) = n ^ log2 (4) = n ^2
但f(n)是常数-sqrt(n)
我的问题:
我可以假设f(n)= Theta(sqrt n)或者我应该知道一些技巧吗?
此外,当你在这里时,如果你可以解释是否有一个常数减去sqrt(n),即减号是否有任何意义?或者可以忽略。
这让我抓狂!请帮忙!谢谢!
答案 0 :(得分:5)
Master Theorem有几个先决条件和案例要求。违反其中任何一个,该定理或案例不适用。我可以看到,这种情况违反了f(n)为正的定理要求。
实际上,这表示一旦传递2500 ^ 2个节点,进程间通信开销就是负数:在计算完成之前收集并整理结果。
我强烈怀疑问题陈述中有错误。