嵌套依赖for循环的Big O表示法是否总是O(n ^ 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)。
因此,对您的问题的一般答案是否。