5
私は時間の複雑さを計算するためにこの質問を行っていました。fun()の時間の複雑さ?
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た(N Nをログ)が、答えはO(N)です。なぜそれがO(n)であるのか理解してください。
きちんと説明しました:) –
外側ループはどうですか? – Luniam
@Luniam外部ループは、O(n)反復(実際にはO(logn)を実行する)未満であるため、big-Oの複雑さには影響しません。 – interjay