首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生长决定的顺序

生长决定的顺序
EN

Stack Overflow用户
提问于 2020-05-25 02:24:51
回答 1查看 29关注 0票数 0

我正在练习增长顺序,但我在确定以下函数的增长顺序时遇到了问题:

代码语言:javascript
复制
def ri(na):
    if na <= 1:
         return na
    def han(na):
         i = 1
         while i < na:
             i *= 2
         return i
    return ri(na/2) + ri(na/2) + han(na-2)

我相信函数han有一个增长的顺序$\Theta(n) = log(n)$,但我不确定在添加ri(na/2)时如何考虑这个问题。如果有人能帮我弄清楚如何计算运行时间,我将不胜感激。非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-25 04:10:32

han函数的时间复杂度为Theta(log(n)) (每次i乘以2)。因此,ri的时间复杂度是T(n) = 2T(n/2) + Theta(log(n))。使用the master theorem,我们可以说T(n) = Theta(n)

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

https://stackoverflow.com/questions/61990458

复制
相关文章

相似问题

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