我刚刚阅读another question,这段代码引起了我的兴趣:
for(i = 0; i < n; i++)
{
for(j = 0; j < i*i; j++)
{
for(k = 0; k < i*j; k++)
{
pseudo_inner_count++;
for(l = 0; l < 10; l++);
}
}
}
我不明白这是怎么回事O(N ^ 6)。有人可以为我分解吗?
答案 0 :(得分:15)
实际上是:
循环是嵌套的,所以我们必须将它们相乘(你明白为什么吗?)。总数为O(N)* O(N ^ 2)* O(N ^ 3)= O(N ^ 6)。
答案 1 :(得分:1)
这是
n表示第一个循环 n²表示第二个循环 n³为第三个循环
内环是O(1)
总数为O(n⁶)。
第三个循环是n³的原因是因为当你想到它时j达到n²并且我达到n,所以i * j达到n³。
答案 2 :(得分:-1)
我会说: