【发布时间】:2014-11-05 16:34:05
【问题描述】:
伪代码:
s <- 0
for i=1 to n do
if A[i]=1 then
for j=1 to n do
{constant number of elementary operations}
endfor
else
s <- s + a[i]
endif
endfor
其中 A[i] 是一个包含 n 个整数的数组,每个整数都是 1 到 6 之间的随机值。
我在这里不知所措...从我的笔记和其他一些在线资源中挑选,我得到了
T(n) = C1(N) + C2 + C3(N) + C4(N) + C5
其中 C1(N) 和 C3(N) = for 循环,C4(N) = 基本运算的常数。虽然我有一种强烈的感觉,我错了。
【问题讨论】:
-
什么是 A[i]?你永远不会初始化它。
-
A[i]的复杂度也是多少? -
这个问题只表明 A 是一个由 n 个整数组成的数组,每个整数都是 1 到 6 之间的随机值...
-
您从 1..n 循环,每个循环也从 1..n 循环(在最坏的情况下)。 O(n^2) 对吗?
-
Running time是您使用基准测试的目的。你说的是time complexity
标签: algorithm time evaluation