首页 > 解决方案 > 多循环的大 O

问题描述

    count++;
    count++;
    count++;
    for (int i = 0; i < n; i++)
    {
        for(int j = 0; j < i*i; j++)
        {
            for (int k = 0; k < j; k++)
            {
                count++;
                sum++;
            }
        }
    }
    count++;
    return count;
}

试图获得这种编码的大 O。努力了解循环如何相互作用。当我运行它时,我得到 n = 25 count = 898960。我一直尝试 O(n)^5+9 到 O(n)^5/n

此问题的所有其他示例不处理 I 在第二个循环中使用 (I*I) 而 j 在第三个循环中使用

标签: javabig-o

解决方案


几乎总是应该通过使用 sigma 符号来计算 kinda 循环的复杂性的最佳方法。

在此处输入图像描述

PS 我没有在公式中写出必要的 +1,因为它对于 Big-O 表示法并不重要,并且不会影响最大功率,即5.


推荐阅读