【发布时间】:2013-05-17 10:23:31
【问题描述】:
以下程序的效率是多少,它是一个 for 循环,运行有限的编号。次。
for(int i = 0; i < 10; i++ )
{
//do something here, no more loops though.
}
那么,效率应该是多少。 O(1) 还是 O(n) ?
【问题讨论】:
-
答案取决于循环体的复杂程度。
-
O(1)如果10是与n无关的常量,否则O(n) -
O(1),因为算法中没有 N。
-
for(int i = 0; i < 10; i++ ) { i = 0; }这是一个很大的哦,不! -
请注意,
O()通常不会以非常正式的方式使用。例如 - 计算机具有有限的内存 - 有限数量的状态,因此终止的每个计算都以O(1)终止。或者,循环for(int i = 0; i < n; i++ )最多执行INT_MAX = O(1)步骤。
标签: c++ performance algorithm