所以我有这段代码:
int sum=0;
for (int i=1; i<n; ++i){
for (int j=1; j<i*i; ++j){
if (j%i==0){
for (int k=0; k<j; ++k){
++sum;
}
}
}
}
我认为这有$ O(n ^ 5)$复杂度。我尝试计时这个来验证它,但我无法判断最合适的是$ n ^ 4 $还是$ n ^ 5 $。
答案 0 :(得分:0)
复杂性为n ^ 4。
原因是第三个将运行 imports: [
BrowserModule, CommonModule, HttpClientModule,
AppRoutingModule
],
次,而不是O(n^2)
,因为您可能已经计算过。对于外部for的每个步骤,if情况仅被调用O(n^3)
次,因为从(i*i)^(1/2) = O(n)
到i
的{{1}}的倍数正好是{{1} }。
所以我有这段代码:
1