首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >递归的复杂性T(n)=T(n−2)+1/lgn?

递归的复杂性T(n)=T(n−2)+1/lgn?
EN

Stack Overflow用户
提问于 2015-09-23 14:38:15
回答 1查看 1.5K关注 0票数 3

这是CLRS书中的一个问题。算法研究小组网站的介绍给出了以下答案:

(http://clrs.skanev.com/04/problems/03.html)

这个答案对吗?我不明白最后两句话。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-23 14:54:20

不,不是的。还有一个错误,而不是无穷大,应该有n。为了得到严格的数学证明,您应该在另一个stackExchange站点(数学站点)上询问。但由于你的直觉,我可以展示如下。

让我们想象一下,n = 2^2^k然后sum of 1/lg(i)等于

代码语言:javascript
复制
1/lg2 + 1/lg3 + 1/lg4 + 1/lg5 + 1/lg6 + 1/lg7 + 1/lg8 + 1/lg9 +
1/lg10 + 1/lg11 + 1/lg12 + 1/lg13 + 1/lg14 + 1/lg15 + ... + 1/lg n-1

这大约是

代码语言:javascript
复制
1/lg2 + 1/lg2 + 1/lg4 + 1/lg4 + 1/lg4 + 1/lg4 + 1/lg8 + 1/lg8 +
1/lg8 + 1/lg8 + 1/lg8 + 1/lg8 + 1/lg8 + 1/lg8 + ... + 1/lg n-1

等于

代码语言:javascript
复制
1/1 + 1/1 + 1/2 + 1/2 + 1/2 + 1/2 + 1/3 + 1/3 +
1/3 + 1/3 + 1/3 + 1/3 + 1/3 + 1/3 + ... + 1/ (2^k - 1) (as lg n = 2^k)

合并后我们有

代码语言:javascript
复制
sum(1/i * 2^i) from 1 to 2^k-1

最后一个成员是n/2 / 2^k-1,它是关于2^(2^k-k-1)的,这不是lg lg n = k的θ。当然,整笔金额甚至更大。

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

https://stackoverflow.com/questions/32742573

复制
相关文章

相似问题

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