双嵌套的大Theta运行时间

时间:2012-01-18 18:45:26

标签: runtime big-o big-theta

我正试图在双嵌套for循环上确定Big Theta运行时间,这比你的常规Θ(n 2 )双循环更加迷人。

for i=0..n do
    for j=0..i do
        // some O(1) work
    end
end

我知道我可以说它是O(n 2 ),但我喜欢它的Θ格式。

1 个答案:

答案 0 :(得分:1)

两个嵌套循环中的步骤数:

1 + 2 + ... + (n+1) = (n+1)*(n+2)/2

要证明运行时间是Θ(n 2 ),您需要找到三个常量c1c2n0,以便:

  

c1 * n 2 < =(n + 1)*(n + 2)/ 2< = c2 * n 2

适用于所有n >= n0

既然你知道现在要做的具体任务,这是我的提示:

c1c2可分别选为1/21,找到合适的n0