这个循环的复杂性是什么?我无法绕过它。
for (i = 0; i < n; ++i) {
for (j = i; j < n; ++j) {
for (k = 0; k < j; ++k) {
// Do something
}
}
}
答案 0 :(得分:3)
O(n^3)
。请参阅Square pyramidal number。
i
循环有n
次迭代。
j
循环:(1 + 2 + ... + n),从n
次迭代开始,以1
结束。
k
循环:(1²+2²+ ...n²),j
循环每次迭代j
次。
最后: