【发布时间】:2011-08-06 15:15:43
【问题描述】:
我正在阅读Big O notation。它表示,
循环的大 O 是循环的迭代次数 循环中的语句数。
这是一个代码sn-p,
for (int i=0 ;i<n; i++)
{
cout <<"Hello World"<<endl;
cout <<"Hello SO";
}
现在根据定义,大O应该是O(n*2),但它是O(n)。谁能帮助我解释为什么会这样? 提前致谢。
【问题讨论】:
-
循环内只有n次迭代
-
但是循环中有2条语句
-
@JustAnotherProgrammer 看到我的回答,循环中的语句需要常数时间,两个常数使另一个常数。重要的是循环中的迭代次数。
-
不不,它的大 O 将是 O(n),因为我们使用时间方程循环运行 n+1 次,所以大 O 将是 n 而不是 n2..
标签: big-o