这是我们教授的幻灯片。
示例 4:考虑这个简单的程序:
s = 0
for i = 1 to n do
for j = 1 to n do
s= s+i+j
endfor
endfor
T(n) = ?
即使对于这个非常简单的程序,也很难得到 T(n) 的精确表达式。我们可以看到:循环迭代n²
次数,循环体采用恒定数量的指令。所以T(n) = a*(n^2) + bn + c
对于一些常数a,b,c。
现在这就是我的想法。让我们假设主体循环花费恒定时间“a”。然后它本身将被循环 a*(n^2) 次。所以,我不明白 b*n + c 来自哪里!实际答案是什么?