嵌套依赖for循环的Big O表示法总是n ^ 2

时间:2018-05-07 17:45:23

标签: loops for-loop language-agnostic

嵌套依赖for循环的Big O表示法是否总是O(n ^ 2)?

2 个答案:

答案 0 :(得分:0)

Big O表示上限。因此,对于dependent for loop,请考虑以下示例:

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

可以修改为:

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

这意味着你有两个循环运行n次,使上限为n ^ 2。因此,大O符号为O(n ^ 2)

希望它有所帮助!

答案 1 :(得分:0)

不,不一定。这取决于算法。

E.g。 a&#34; group by&#34;语义基本上处理外循环中的组,而组项在(嵌套的)内循环中处理。但是在一天结束时,每个项目只处理一次。使用散列分组算法,它可能只是O(n)。

因此,对您的问题的一般答案是