考虑以下算法,
Loop1 until(i<n^2)
Loop2 until(j<i^2)
....
j=j+4
End Loop2
i=i*3
End Loop1
我认为这是Theta(n^2*log(n))
。这是正确的还是Big Theta高于这个?
答案 0 :(得分:1)
不,这不正确。
让我接近n ^ 2,这是当n ^ 2是3的幂时的情况。 然后j的内环将运行i ^ 2/4 = Theta(n ^ 4)步。 所以总运行时间不能小于Theta(n ^ 4)。
提示:这恰好是最终的总运行时间,你知道为什么吗?