嵌套循环的大O

时间:2020-10-05 13:09:44

标签: loops big-o nested-loops

另一个大问题,但我无法解决这个问题:

for (int i = 0; i < n; i++)
    for (int j = 0; j < n * n; j++)
        for (int k = 0; k < j; k++)
            //do sth

我的想法:外部循环是O(n)。中间是O(n^2)。但是,内部取决于中间,因此对于每个j,k都将运行1+2+3+...+n = [n^2(n^2+1)]/2,它与O(n^4)相同。
因此,中间部分的运行时间为O(n^2),而实际上部分的运行时间为O(n^4)。这将导致O(n^5)。正确吗?

1 个答案:

答案 0 :(得分:0)

循环迭代的总数为Θ(n 5 )。

1