为循环嵌套的运行时间

时间:2014-03-05 14:43:45

标签: algorithm big-o asymptotic-complexity big-theta

我必须找到以下功能的运行时间。

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的值,但我似乎无法想出来。

有什么建议吗?还是其他方法来解决这个问题?

1 个答案:

答案 0 :(得分:1)

使用Sigma表示法是正式提出算法增长顺序的有效方法:

enter image description here