首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >递归关系家庭作业的挣扎

递归关系家庭作业的挣扎
EN

Stack Overflow用户
提问于 2011-01-30 06:25:02
回答 1查看 1K关注 0票数 1

下面是问题:

在给定T(1) =θ(1)的情况下,通过获得T(n)的θ界限来求解递归。

代码语言:javascript
复制
T(n) = n + T(n-3)

尝试的解决方案:

代码语言:javascript
复制
T(n) = T(n-6) + (n-3) + n  

= T(n-9) + (n-6) + (n-3) + n  

= T(n-(n-1)) + [(n-n) + (n-(n-3)) + (n-(n-6)) + ... + n]

= T(1) + [0 + 3 + 6 + ... + n]

= theta(1) = 3[1 + 2 + 3 + ... + n/3]

= theta(1) + [(n/3)(n/3 + 1)]/2

= theta(1) + (n^2+3n)/6

当我仔细检查解决方案是否适合递归时,它不起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-30 06:54:57

问题是你得到了错误的求和。它不是从0开始的,因为上一个T函数是T(n - (n-1)),这意味着前一个函数是T(n-(n-4))。所以求和从4开始,一直到n。

如果你不知道如何求和,我建议你看看求和公式中的一些证明。这就是解决方案的样子。

代码语言:javascript
复制
T(n) = T(n-3) + n  

= T(n-6) + (n-3) + n  

= T(n-(n-1)) + [ (n-(n-4)) + (n-(n-7)) + ... + n]

= T(1) + [4 + 7 + ... + n]

= theta(1) + (4 + n) * (n - 1)/6
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4839849

复制
相关文章

相似问题

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