3

次のコードの時間の複雑さは何だろうと思っていました。

私の意見では、以下のコードの時間計算量 (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++;
     }
  }
}
4

2 に答える 2

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)
于 2013-08-11T05:09:04.930 に答える
0

シグマ記法を使用した正式な手順 (検証が必要) では、次のようになります。

ここに画像の説明を入力 ここに画像の説明を入力

于 2014-03-16T03:29:13.303 に答える