找出简单的for循环语句

时间:2016-05-21 22:06:52

标签: data-structures

我是编码方面的新手,在查找简单for循环的时间复杂度方面存在问题

for (int i=0;i<n;i++)

我在一些网站上看到上面的时间复杂度是2n + 2 至于我所理解的

    1 for assignment i=0
    n+1 for comparision of i<n 

但是在i ++的情况下 n times for i++因为循环将在某些站点中迭代n次

so total time complexity `= 1+(n+1)*2 +n`

但我有问题 i ++ = i + 1(这是一个arthemetic操作和赋值) 也就是说它需要2次操作,这意味着n * 2总操作 总时间复杂度= 1+(n+1)*2 +2n

请帮我找出正确的结果

2 个答案:

答案 0 :(得分:1)

for(int i = 0; i < N; ++i)

如果循环体复杂度为:

  • O(1):循环复杂度为O(N)
  • O(M):循环复杂度为O(N * M)
  • O(N):循环复杂度为O(N ^ 2)

等等。

答案 1 :(得分:0)