首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >用主定理求解T (n) =√2*T(n/2) + log

用主定理求解T (n) =√2*T(n/2) + log
EN

Stack Overflow用户
提问于 2015-05-04 12:26:06
回答 3查看 5.6K关注 0票数 2

问题是:

代码语言:javascript
运行
AI代码解释
复制
T(n) =2*T(n/2) + log n

我不确定主定理是否在这里起作用,而且有点卡住了。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-05-04 14:07:06

这看起来更像Akra定理:公式 with k=1h=0g(n)=log na=(2)^{1/2}b=1/2.在这种情况下,p=1/2和您需要计算积分\int_1^x log(u)/u^{3/2} du。您可以按部件使用集成,也可以使用符号积分器。Wolfram告诉我,不定积分是-2(log u + 2)/u^{1/2} + C,所以定积分是4 - 2(log x + 2)/x^{1/2}。将1x^{1/2}相乘,得到T(x) = \Theta(5x^{1/2} - 2 log x - 4)

票数 3
EN

Stack Overflow用户

发布于 2015-12-16 23:15:28

主定理只对您的ab有限制,这对您的情况是成立的。事实上,a是非理性的,你有log(n),因为你的f(n)和它无关。

所以在你的例子中,你的c = log2(sqrt(2)) = 1/2。由于n^c比日志(N)增长得更快,递归的复杂性是O(sqrt(n))

Danyal的P.S.解是错误的,因为它的复杂性不是nlogn,爱德华杜立德的解是正确的,在这个简单的情况下也是过分的。

票数 2
EN

Stack Overflow用户

发布于 2015-05-04 12:39:00

根据主定理,f(n)应该是多项式,但在这里

代码语言:javascript
运行
AI代码解释
复制
f(n) = logn

它不是多项式,因此不能按规则用主定理求解。我也在某个地方读过关于第四个案子的文章。我也必须提到这一点。

这里还将讨论:f(n)=log n的母定理

然而,主定理有一个有限的“第四种情况”,允许它适用于多对数函数。

如果

代码语言:javascript
运行
AI代码解释
复制
 f(n) = O(nlogba logk n), then T(n) = O(nlogba log k+1 n).

换句话说,假设T( n ) = 2T (n/2) +n log n,f(n)不是多项式,但f( n) =n log2,k= 1。因此,T(n) = O(n Log2 N)

有关更多信息,请参见此讲义:http://cse.unl.edu/~choueiry/S06-235/files/MasterTheorem-HandoutNoNotes.pdf

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30039346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档