我正在阅读算法设计手册,此解决方案不在手册中。我花了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为负,我们可以得出结论,该算法的运行时间为
这是对的吗?
答案 0 :(得分:3)
最终结果是正确的,详细计算中至少有一个错误:从a到b的总和超过1是b-a + 1.
此外,下一学期的标志是无关紧要的(我假设你的意思是n ^ 2)。即使n ^ 2项是正数,运行时也是Theta(n ^ 3)。