このコードの複雑さは何ですか? 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++;
}}}
このコードの複雑さは何ですか? 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++;
}}}
forループ
第二にもログインするn個の時間(を)かかりログN時間()かかりためまず
第1は、かかる時間n(linear growth
)
したがって、全体の時間=すべてを乗算します。
ログn * log n * n
最初のループはLOGNのために実行されますのでだから、時間の複雑さが
O(nは(LOGN)^ 2)
このため、時間の複雑さは((LOGN)^ 2)をn *う2回目もlogn回実行され、3回目のループはgp 1 + 2 + 4 + 8の合計になるのでn回実行されます。だから答えはn *(logn)*(logn)
[アルゴリズムの時間複雑さを見つける方法](http://stackoverflow.com/questions/11032015/how-to-find-time-アルゴリズムの複雑さ) – Carcigenicate
@minigeekありがとう、 –
@mohsensaebあなたは歓迎です:) – minigeek