x=0
for i=1 to ceiling(log(n))
for j=1 to i
for k=1 to 10
x=x+1
我已经提到了我在这里提出的答案:
我认为时间复杂度是θ(n ^ 2 log(n)),但我不确定我的逻辑是否正确.我非常感谢任何帮助,了解如何进行此类分析!
最佳答案 最外面的循环将运行ceil(log n)次.中间循环取决于i的值.
所以,它的行为将是:
1st iteration of outermost-loop - 1
2nd iteration of outermost-loop - 2
.....................................
ceil(log n) iteration of outermost-loop - ceil(log n)
最内层循环独立于其他变量,每次中间循环迭代总是运行10次.
因此,网络迭代
= [1*10 + 2*10 + 3*10 + ... + ceil(log n)*10]
= 10 * {1+2+...+ceil(log n)}
= 10 * { (ceil(log n) * ceil(log n)+1)/2} times
= 5 * [ceil(log n)]^2 + 5 * ceil(log n)
= Big-Theta {(log n)^2}
= Θ{(log n)^2}.
我希望你清楚这一点.因此,你的答案是错误的.