我正试图在双嵌套for循环上确定Big Theta运行时间,这比你的常规Θ(n 2 )双循环更加迷人。
for i=0..n do
for j=0..i do
// some O(1) work
end
end
我知道我可以说它是O(n 2 ),但我喜欢它的Θ格式。
答案 0 :(得分:1)
两个嵌套循环中的步骤数:
1 + 2 + ... + (n+1) = (n+1)*(n+2)/2
要证明运行时间是Θ(n 2 ),您需要找到三个常量c1
,c2
和n0
,以便:
c1 * n 2 < =(n + 1)*(n + 2)/ 2< = c2 * n 2
适用于所有n >= n0
。
既然你知道现在要做的具体任务,这是我的提示:
c1
和c2
可分别选为1/2
和1
,找到合适的n0
。