我是编码方面的新手,在查找简单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
请帮我找出正确的结果
答案 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)