2017-06-05 77 views
1

我知道查看嵌套循环时的算法复杂度模式通常是n^(m+1),其中m是循环嵌套因子(循环内的循环)。n * n(非嵌套)for循环复杂度

但对于这个简单的例子,在那里

for (i=0; i<n*n; i++) { 
    ... 
} 

是复杂O(n^2)

因为执行量与正常的嵌套for循环相同。

+0

请完成你的问题! –

+0

对不起,当代码部分开始时,帖子出现问题。 – Thorra

回答

0

假设在for循环的每次迭代中完成的工作是O(1),那么由于迭代n^2次,for循环的复杂度确实是O(n^2)。是的,你假设它会具有相同的复杂性:

for(i=0;i<n;i++) { 
    for(j=0;j<n;j++) { 
     ... 
    } 
} 
+0

谢谢。如果在这个for循环中每次迭代所做的工作都是O(n),那么我假设总的复杂度将是O(n^3)等。正确吗? – Thorra

+0

是的,这是正确的。 – gue