如何计算给定伪代码的时间复杂度?我想知道它是如何计算的。
sum ← n + 351
for (int i = 1; i < n + 2; i++) do
sum ← sum + i + 355 + A[i]
for (int j = 0; j ≤ i; j++) do
sum ← sum * A[j] + j
end-for (j)
sum ← sum + 352 * n
for (int k = 0; k < n - 1; k++) do
sum ← sum * k + A[k]
end-for (k)
sum ← sum + 2 * n + 354
end-for (i)
sum ← sum + 2 * n + 356
答案 0 :(得分:2)
您可以查看每个循环的复杂性。
外部循环是订单n
内部循环也上升到n
(实际i
,最多可达n
)
因此合并为O(n^2)