web-dev-qa-db-ja.com

n ^ 2対2 ^ nの大きなOについて混乱

本を読んだところ、重要でない部分を削除すると、次の式O(2^n + n^100)O(2^n)に削減されます。私の理解によれば、nの値が3次にパーツn^100の実行回数が多いようです。何が欠けていますか?

6
Software Guy

Big O表記は本質的に漸近的です。つまり、nは無限大になる傾向があるため、式を検討します。

N = 3の場合、n^1002^nより大きいですが、n> 1000になると、2^nは常にn^100より大きいため、O(2^n + n^100)n^100を無視できます。

Big O表記の正式な数学的説明については、ウィキペディアの記事が適切に機能

数学的な説明が少ない場合は、この回答も適切に機能します。

「Big O」表記の簡単な英語の説明は何ですか?

10
Abe

O(n)が漸近的な複雑さであるという事実を見逃しています。より厳密に言えば、_n -> infinity_の場合はlim(2^n / n^100)を計算すると、無限大に等しいことがわかります。つまり、漸近的に_2^n_は_n^100_よりも速く成長します。

3
giliev

ビッグO表記は、漸近的な複雑さを表すために使用されます。 Wordの漸近は重要な役割を果たします。漸近とは基本的に、あなたのn3や他の整数にならないことを意味します。 nは無限に大きいと考える必要があります。

最初はn^100の方が速く成長しますが、2^nn^100より大きくなる点があります。

3
Rafael Kallis

複雑さをnで測定する場合、1つの例だけでなく、nのすべての可能な値を考慮する必要があります。したがって、ほとんどの場合、nは100より大きい値です。これが、n ^ 100が重要でない理由です。

2
Chen Kinnrot