用 Big Theta Notation 表示 运行 时间?

Express Running time in Big Theta Notation ?

对于这个伪代码,我如何用 n 表示 Θ 表示法中的 运行 时间?

s = 0
  for i = 0 to n:
    for j = 0 to i:
      s = (s + i)*j
print s

赋值 s = (s+i)*j 具有常数时间复杂度 Θ(1)。对于每个 i,内部循环恰好执行 i 次,而 i 从 0 迭代到 n。所以你的循环体(例如赋值)被执行 1+2+3+...+(n+1) = (n+1)(n+2)/2 = Θ(n^2).

由于循环体是 Θ(1),所以整个程序都是 Θ(n^2),注意第一行和最后一行只是 Θ(1),因此您可以忽略它们。