Big o 大O理论-三重嵌套循环

Big o 大O理论-三重嵌套循环,big-o,nested-loops,Big O,Nested Loops,如果我有以下功能: for(i=0;i<n;i++) for(j=0;j<i*i;j++) for(k=0;k<j;k++) System.out.println(k); 对于(i=0;i您的函数是O(1),因为它返回第一个k,循环在第一次迭代时结束。假设它不立即返回,它是您认为的n^5 ​​ 对于每个i,第二个循环循环循环i^2次,第三个循环循环循环j次。 因此,对于每一个i它都是循环i^4次。因此,总数是Sum(i^4)(1..n),也

如果我有以下功能:

for(i=0;i<n;i++)
   for(j=0;j<i*i;j++)
      for(k=0;k<j;k++)
         System.out.println(k);
对于(i=0;i您的函数是
O(1)
,因为它返回第一个
k
,循环在第一次迭代时结束。假设它不立即返回,它是您认为的n^5

​​ 对于每个i,第二个循环循环循环
i^2
次,第三个循环循环循环
j
次。
因此,对于每一个
i
它都是循环
i^4
次。因此,总数是
Sum(i^4)(1..n)
,也就是
O(n^5)

形式上,使用西格玛表示法,您可以通过以下方式推断增长顺序:


提示:如果你遍历所有k值,则为O(n^3)。你可以接受答案吗?抱歉,可能是重复的,我编辑并修复了。因此,根据我写的,它是n^5,对吗?@user3242955是的。