如何计算这个循环的复杂性?

时间:2012-12-21 22:38:59

标签: complexity-theory

这个循环的复杂性是什么?我无法绕过它。

for (i = 0; i < n; ++i) { 
    for (j = i; j < n; ++j) {
        for (k = 0; k < j; ++k) {
            // Do something
        }
    }

}

1 个答案:

答案 0 :(得分:3)

我相信

O(n^3)。请参阅Square pyramidal number

i循环有n次迭代。

j循环:(1 + 2 + ... + n),从n次迭代开始,以1结束。

k循环:(1²+2²+ ...n²),j循环每次迭代j次。

最后:

enter image description here