以下代码的时间复杂度(以大O表示法)?

时间:2013-08-11 04:55:41

标签: big-o time-complexity

我只是想知道以下代码的时间复杂度。

我认为以下代码的时间复杂度(Big O)将为O(n ^ 4)

你们有什么想法?

int result = 0;
for(int i =1; i<n*n; i++){
  for (int j=i; j*j <n; j++){
    for(int k =j; k*k <n; k++){
      result++;
     }
  }
}

2 个答案:

答案 0 :(得分:2)

对我来说是n^(2.75)

- outer loop: n^2
- first inner loop is sqrt(n)
- second inner loop is sqrt(sqrt(n))

总计:

n^2 * sqrt(n) *  sqrt(sqrt(n)) = n^(2+ 0.5 + 0.25) = n^(2.75)

答案 1 :(得分:0)

使用Sigma Notation的正式步骤(需要验证)将产生以下结果:

enter image description here enter image description here