当f(n)为负时,主定理如何应用?

问题描述:

试图解决这个递归:当f(n)为负时,主定理如何应用?

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)=西塔(sqrt n)还是有一些我应该知道的技巧?

  2. 另外,虽然你在这里,如果你可以解释,如果有一个常数减sqrt(n),即减号有任何意义?或者可以忽略。

这让我疯狂!请帮忙!谢谢!!

+0

说实话,我第一次使用了硕士定理,它只是一个问题,我正试图用主定理来解决这个问题。 如果f(n)是某个常数 - sqrt(n)或者即使它的常数是-n,我的问题依然存在;我们是否考虑常数和减号或简单地忽略常数? – polyglot

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

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

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