什么是嵌套循环的Big-O,其中外循环为n ^ 2

时间:2015-09-28 18:34:16

标签: big-o nested-loops

for(int i = 1; i < n **2; i++) 
{    
   for(int j = 1; j < i; j++)    
   {
     s = s;    
   } 
}

由于外部循环的大O是O(n ^ 2),它仍然会被内部循环乘以使得总的大O符号为n(n ^ 2) - >为O(n ^ 3)?

1 个答案:

答案 0 :(得分:1)

在外循环中,我可以取1到n ^ 2之间的值。然后对于每个值,内部循环从1变为i。对于i = 1执行的操作的数量是1,i = 2是2,...,i = n ^ 2是n ^ 2。

因此,操作总数是i从1到n ^ 2的总和。这是一个众所周知的series,其封闭形式为(n ^ 2)(n ^ 2 + 1)/ 2,即O(n ^ 4)