首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分析嵌套for循环的运行时

问分析嵌套for循环的运行时
EN

Stack Overflow用户
提问于 2014-06-05 23:13:52
回答 2查看 54关注 0票数 0

我有一些问题,确定这个嵌套的for循环是在O(n)还是O(n^2)中运行。

假设我有一个表演P的列表,每个表演都有一个持续时间(小时数)。

代码语言:javascript
复制
P = [P1, P2, ...., Pn]
for p in P:
    for hour in p.hours:
        //do stuff here
    end
end

什么是运行时间呢?我知道执行的总数是每个性能或O(totalHours)中所有小时的总和,但这是线性的还是多项式的?请记住,小时数可能因性能而异,可以任意大或小。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-05 23:21:52

我可能会说它是O(mn),其中n是性能的数量,m是每个性能的平均小时数(或者,如您所说的O(totalHours))。

它与总小时数成线性关系。

因为它不仅取决于性能的数量,我不相信你可以说它是线性的(甚至多项式)(即使n的力量在上面的复杂性是1 )(但是这里的观点可能不同)。

票数 1
EN

Stack Overflow用户

发布于 2014-06-05 23:19:59

它与输入的总小时数成线性关系。如果不能将该数字表示为性能数的函数,则无法将运行时间与性能数量联系起来。

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

https://stackoverflow.com/questions/24071711

复制
相关文章

相似问题

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