代碼片段:
for(i=1; i<=n; i++) {
for(j=1; j<=i; j++) {
for(k=1; k<=j; k++) {
@ x += delta;
}
}
}
k 循環:固定 i,j 時執行 j 次。j 循環:固定 i 時,j 從 1 到 i,執行次數累加:1 + 2 + ... + i。i 循環:i 從 1 到 n,總次數 = Σ(i=1..n) [Σ(j=1..i) j]。內層和 S(i) = i(i+1)/2。
總和 T(n) = Σ(i=1..n) i(i+1)/2 = n(n+1)(n+2)/6。
| n | 手算總次數 | 公式結果 |
|---|---|---|
| 1 | 1 | 1 |
| 2 | 1 + (1+2) = 4 | 4 |
| 3 | 1 + 3 + 6 = 10 | 10 |
| 4 | 1 + 3 + 6 + 10 = 20 | 20 |
O(n³),常用於三維動態規劃、矩陣乘法優化分析。