本を読んだところ、重要でない部分を削除すると、次の式O(2^n + n^100)
がO(2^n)
に削減されます。私の理解によれば、n
の値が3
次にパーツn^100
の実行回数が多いようです。何が欠けていますか?
Big O表記は本質的に漸近的です。つまり、nは無限大になる傾向があるため、式を検討します。
N = 3の場合、n^100
は2^n
より大きいですが、n> 1000になると、2^n
は常にn^100
より大きいため、O(2^n + n^100)
のn^100
を無視できます。
Big O表記の正式な数学的説明については、ウィキペディアの記事が適切に機能
数学的な説明が少ない場合は、この回答も適切に機能します。
O(n)
が漸近的な複雑さであるという事実を見逃しています。より厳密に言えば、_n -> infinity
_の場合はlim(2^n / n^100)
を計算すると、無限大に等しいことがわかります。つまり、漸近的に_2^n
_は_n^100
_よりも速く成長します。
ビッグO表記は、漸近的な複雑さを表すために使用されます。 Wordの漸近は重要な役割を果たします。漸近とは基本的に、あなたのn
が3
や他の整数にならないことを意味します。 n
は無限に大きいと考える必要があります。
最初はn^100
の方が速く成長しますが、2^n
がn^100
より大きくなる点があります。
複雑さをnで測定する場合、1つの例だけでなく、nのすべての可能な値を考慮する必要があります。したがって、ほとんどの場合、nは100より大きい値です。これが、n ^ 100が重要でない理由です。