我已经分析了以下alogirthm的运行时间我分析了θ但是它的运行时间可能是大O?
Cost Time
1. for i ←1 to n c1 n
2. do for j ← i to n c2 n
3. do k ← k+ j c3 n-1
T(n) = c1n +c2n+c3(n-1)
= C1n+C2n+C3(n-1)
= n(C1+C2)+n-1
= n+n-1
Or T(n) = Ө(n)
So running time is Ө(n)
答案 0 :(得分:2)
1. for i ←1 to n c1 n
2. do for j ← i to n c2 n
3. do k ← k+ j c3 1
T(n) = n * n * 1 = O(n^2)
@Giulio Franco
这是一个嵌套循环,在那里进行恒定时间操作。
do k ← k+ j
是常量,因为无论您输入什么输入,操作都是固定的时间长度。 k + j
loop(n)
loop(n)
constant time(1)
当它是循环内的循环时,你会成倍增加。 n*n*1
loop(n)
loop(n)
这些循环不是嵌套的。
这将是n + n
O(n+n)
缩小为O(n)
答案 1 :(得分:2)