首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >N对数(N)或N澄清

N对数(N)或N澄清
EN

Stack Overflow用户
提问于 2014-04-17 19:26:03
回答 4查看 80关注 0票数 0

执行O(log N)算法N次会给出O(N log(N))吗?还是O(N)?

例如,在自平衡树中插入N个元素。

代码语言:javascript
复制
int i = 0;
while (i++ < N) {
    insert(itemsToInsert[i]);
}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-04-17 19:30:42

它绝对是O(N log(N))。它也可能是O(N),如果您可以显示调用的顺序,作为一个整体,增长足够慢(因为有些调用是O(log ),而其他调用足够快,例如O(1),使总数下降)。

记住: O( f )意味着算法并不比f慢,但是它可以更快(即使只是在某些情况下)。

票数 3
EN

Stack Overflow用户

发布于 2014-04-17 19:28:43

N乘以O(log(N))导致O(N log(N))。

票数 1
EN

Stack Overflow用户

发布于 2014-04-17 19:31:43

大-O符号说明了该算法的渐近行为.每个附加步骤的代价是O(log N),我们知道对于O(N)算法,每个附加步骤的代价是O(1),并且渐近地代价函数界是一条直线。

因此,O(N)太低了;O(N log N)似乎是对的。

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

https://stackoverflow.com/questions/23141774

复制
相关文章

相似问题

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