此算法分析是否正确

时间:2016-11-19 19:01:11

标签: algorithm

我正在阅读算法设计手册,此解决方案不在手册中。我花了30分钟搞清楚,所以我想知道它是否正确。这是函数的伪代码:

function conundrum(n)
  r:=0
  for i:=1 to n do
    for j:=i+1 to n do
      for k:=i+j−1 to n do
        r:=r+1

我们解决了第一次求和,得到了

最终的方程应该是:

鉴于n ^ 4为负,我们可以得出结论,该算法的运行时间为

这是对的吗?

1 个答案:

答案 0 :(得分:3)

最终结果是正确的,详细计算中至少有一个错误:从a到b的总和超过1是b-a + 1.

此外,下一学期的标志是无关紧要的(我假设你的意思是n ^ 2)。即使n ^ 2项是正数,运行时也是Theta(n ^ 3)。