我有以下伪代码:
for i=1 to 3*n
for j=1 to i*i
for k=1 to j
if j mod i=1 then
s=s+1
endif
next k
next j
next i
当我想分析部分s=s+1的次数时,假设这个操作需要一定的时间,我得到一个二次复杂度,或者它是线性的吗?n的值可以是任何正整数。
我的计算如下:
最佳答案
绝对不是二次的,但至少应该是多项式。
它经过3次迭代。
在每一次迭代中,它会执行更多的9n2。
在每一个上面,它可以做更多的9n2。
所以我想应该是o(n5)。
关于algorithm - 这个程序是二次还是线性的?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32930341/