我必须找到以下功能的运行时间。
S=0
For i=4 to n^2
For j=5 to 3*i*log(i)
S=S+i-j
Return S
到目前为止,我认为运行时间 T(n)=((n ^ 2)-3)*(3 * i * log(i)-4)但我无法得到第二部分就n而言。我还发现它可以是最大值或者大O符号是((n ^ 2)-3)(3 (n ^ 2)* log(n ^ 2 ))即如果 n ^ 2 是通过内循环的每次迭代的i的值,但事实并非如此,这基本上告诉我它可以写成 O((N ^ 4)*的log(n ^ 2))即可。为了找出大的θ值,我一直试图计算 3 * i * log(i)的平均值,以用作每次迭代的i的值,但我似乎无法想出来。
有什么建议吗?还是其他方法来解决这个问题?
答案 0 :(得分:1)
使用Sigma表示法是正式提出算法增长顺序的有效方法: