将增量计数为for循环中的步骤与否

时间:2012-01-12 09:00:28

标签: for-loop

for(int i=0;i<n;i++)
{
   // Some code
}

我们通常说这个循环运行n + 1次,因此n + 1步骤,并且有一步是初始化i = 0。 我已阅读过大部分教科书。 我的问题是,每次循环运行时,还有一个步骤将i递增到i + 1即i = i + 1,这也是计算时间复杂度时应该计算的步骤之一。我是一个新手算法分析帮助我解决了这个问题。

1 个答案:

答案 0 :(得分:3)

  

我们通常说这个循环运行n + 1次,所以n + 1步为此[...]

不,我们说它适用于 n 迭代。这是将0的起始索引与写为< n的边界检查相结合的重点。一旦计数器达到n,它将在进行n次迭代后退出循环(一次为0,一次为1,一次为2,...一次为n - 1,然后退出)。

增加计数器所做的工作,无论是i++i += 1还是i = compute_the_next_index(i),都不算作“步骤”。步骤是迭代,即循环体的执行。