【发布时间】:2015-10-04 13:56:40
【问题描述】:
我有以下伪代码:
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 的值可以是任意正整数。
我的计算如下:
【问题讨论】:
-
是否假定比较
if j mod i=1的成本可以忽略不计? -
关于什么?就程序而言,
n是这里唯一的“变量”吗? -
@Thilo - 不,你错过了。应该是 O(n^5)。