我有以下循环。我想知道下面给出循环的循环的每一步的总时间,并且我的计算请检查并纠正我,如果我错了。
int count=0;
for(int i=0 ; i<N ; i++)
count++;
我的计算如下。
Assginments operator is taking = 2
Comparison = N
Increments (i++ and Count++) = N+N =2N Times
所以根据我的3N+2
请告诉我如果我错了,请告诉我,如果循环体是count += 1;
将分配多少时间。
答案 0 :(得分:0)
<强> O(N)强>
因为运行时线性地依赖于N
。
即使c*N
仍然是O(N)。它的规则是你可以在算法运行时复杂度计算中忽略常数因子c
。这意味着,如果您有2*N
,5*N
或247234*N
,则无关紧要。它总是O(N)。