時間計算量が O(nlogn) ではなく O(n) なのはなぜですか? 外側のループの複雑さと内側のループの複雑さを掛け合わせる必要はありませんか?
int fun(int n){
int count = 0;
for (int i = n; i > 0; i /= 2)
for (int j = 0; j < i; j++)
count += 1;
return count;
}
時間計算量が O(nlogn) ではなく O(n) なのはなぜですか? 外側のループの複雑さと内側のループの複雑さを掛け合わせる必要はありませんか?
int fun(int n){
int count = 0;
for (int i = n; i > 0; i /= 2)
for (int j = 0; j < i; j++)
count += 1;
return count;
}