我只是想知道以下代码的时间复杂度。
我认为以下代码的时间复杂度(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++;
}
}
}
答案 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的正式步骤(需要验证)将产生以下结果: