当 f(n) 为负时,主定理如何应用?
Posted
技术标签:
【中文标题】当 f(n) 为负时,主定理如何应用?【英文标题】:When f(n) is negative, how does master theorem apply? 【发布时间】:2017-02-03 06:56:16 【问题描述】:试图解决这个递归:
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) 还是我应该知道一些技巧?
1234563或者可以忽略。这快把我逼疯了!请帮忙!谢谢!!
【问题讨论】:
说实话,我是第一次使用大师定理,这只是我试图解决这个问题以利用大师定理。如果 f(n) 是某个常数 - sqrt(n) 或者即使它是常数 -n,我的问题仍然存在;我们是考虑常数和减号还是干脆忽略常数? 【参考方案1】:Master Theorem 有几个先决条件和案例要求。违反其中任何一项,则该定理或案例不适用。正如我所看到的,这种情况违反了 f(n) 为正的定理要求。
实际上,这表示一旦通过 2500^2 个节点,进程间通信开销为负:在计算完成之前收集和整理结果。
我强烈怀疑问题陈述中有错误。
【讨论】:
以上是关于当 f(n) 为负时,主定理如何应用?的主要内容,如果未能解决你的问题,请参考以下文章