2017-02-08 11 views
1

このコードの複雑さは何ですか? nlgn OR nlgn^2このネストされたループの時間複雑度

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

[アルゴリズムの時間複雑さを見つける方法](http://stackoverflow.com/questions/11032015/how-to-find-time-アルゴリズムの複雑さ) – Carcigenicate

+0

@minigeekありがとう、 –

+0

@mohsensaebあなたは歓迎です:) – minigeek

答えて

0

forループ

第二にもログインするn個の時間(​​を)かかりログN時間(​​)かかりためまず

第1は、かかる時間n(linear growth

したがって、全体の時間=すべてを乗算します。

ログn * log n * n

最初のループはLOGNのために実行されますので

だから、時間の複雑さが

O(nは(LOGN)^ 2)

0

このため、時間の複雑さは((LOGN)^ 2)をn *う2回目もlogn回実行され、3回目のループはgp 1 + 2 + 4 + 8の合計になるのでn回実行されます。だから答えはn *(logn)*(logn)

関連する問題