1

试图解决这个递归:

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)

我的问题:

  1. 我可以假设 f(n) = Theta(sqrt n) 还是我应该知道一些技巧?

  2. 另外,当你在这的时候,如果你能解释一下是否有一个常数减 sqrt(n) 即减号有什么意义吗?或者可以忽略。

这真让我抓狂!请帮忙!谢谢!!

4

1 回答 1

5

定理有几个先决条件和案例要求。违反其中任何一项,则该定理或案例不适用。正如我所看到的,这种情况违反了 f(n) 为正的定理要求。

实际上,这表示一旦通过 2500^2 个节点,进程间通信开销为负:在计算完成之前收集和整理结果。

我强烈怀疑问题陈述中有错误。

于 2016-09-26T17:33:53.810 回答