質問

している場合は、アルゴリズムを取る4n^2+7n動の遂行してどのようなO?O(4n^2)とはO(n^2)とは

知っている7nカットオフがないわからない場合Iのn^2係数です。

感謝

役に立ちましたか?

解決

質問は本当になど線形、指数関数、対数関数、としてそれを特徴づけるためにしようと、「順番に」求めているので、あなたは係数であり、つまり、ときnは非常に大きいです...任意の係数をドロップする必要がありますほとんど重要。

あなたは+の7Nをドロップする理由は非常に大きい場合nは、その用語が最終的な答えに比較的少ない意義を持っているので、

これはまた、説明しています。あなたは計算に精通している場合、あなたは言うかもしれないLIM N-> infファイル(4 * N ^ 2 + 7N)〜= limのN-> infファイル(4 * N ^ 2)〜= limのN-> infファイル(N ^ 2)

あなたは、nの大きい方と大きい方の値の関数4N ^ 2 + 7Nをグラフ場合は、

また、数学者は「それがどのように見えるのn ^ 2」と言うかもしれない、それは...グラフィカル意味でこのことについて考えることができます。これは厳格な文ではありませんが、それはO(...)伝えようとされているものは基本的だと確かに、それは、かなりリベラル数学者でなければならないであろう。

他のヒント

それだけではO(n 2 )ですので、

の係数は、ランダウの記号に関連しません。 ウィキペディアはに説明しているように:

  

[...]我々は、式、の任意の他の順序に比較する場合、係数は無関係になるような用語を含む発現としてN 3 又はN 2

皆様に読み取りまたは書き込みつつ複雑なアルゴリズムはどうなのかを知る Landau記号漸近表記 は、そうでないなんてよくわからない、または単にて約(しばしば誤解を招く)。

の簡素化になるかも知れませんが)しましょう fg する機能 f : N -> Ng : N -> N.したと言えるでしょう f is O(g) 場合にだけある M > 0 その |f(n)| < M|g(n)|, すべて n > M.ることは、非公式に開始から大きな価値 n, すべての価値 f(n) より小さい複数の g(n) (ie, g とが 以上 f).

この定義に相当

f is O(g) <==> There is K >= 0 such that lim{n -> +oo} |f(n)|/|g(n)| = K

では、次 f(n) = 4n^2 + 7ng(n) = n^2, を証明する f is O(g) (省略 {n -> +oo}):

lim |f(n)|/|g(n)| = lim f(n)/g(n) = lim (4n^2 + 7n) / n^2 = 4 + lim 7n/n^2 =
                  = 4 + lim 7/n = 4 + 0 = 4

この意味があること M その n > M ==> |f(n)| < M|g(n)|, は、このように f is O(g).

で技術的にはそれが正しいと言う 4n^2 + 7n is O(4n^2), で正しいと言う 4n^2 + 7n is O(n^3), 4n^2 + 7n is O(e^n), います。が意味を持つこと,そして下りました。い場合 f is O(e^n)f is O(n^2), 私に知ることが f is O(n^2), ここでは、はるかにより制限.

非常に重要な注意

何extremelly重要な時を選択アルゴリズムの理解 big-O記法を用 とは 漸近場合, とを考えるとき 非常に、想像を絶する大入力, とくに超える計算機の能力を知られる宇宙(すなわち、無限の入力を設定し、数学的によ {n -> +oo}).

実用(ieな なので 大きな入力が選択アルゴリズムのいまを遵守する候補のアルゴリズム big-O記法を用, だっていることをご確認ください選択アルゴリズムに適し(揮)(予定)入力します。

最後に、通常より良い舞台を探すのは難しく理解し、実施する。考慮する必要があることなどを選択する際にアルゴリズム(すなわち、 の時間を過ごせま デバッグの固定化を私の実施 このアルゴリズムを大幅に時間のかをお待ちして他のアルゴリズムとしていかなければならないとbig-O記法?.その場合は、を検討する必要があると簡単に、効率的なアルゴリズムとしてのソリューション全体がより効率的な).

これは、O(N ^ 2)です。一定の要因「Oへの移動」。これは1人の支配しているので、あなただけの最大の指数を維持します。異なるアルゴリズムを比較した場合であっても、非常に大きな係数(nは十分な大きさを有する)より大きな指数を有するより小さい合計数をもたらすので、あなたは係数を残すことができます。

のような文

4n² + 7n = O(n²)

の手段いくつかの定数乗算器のc、表現cn²用は最終的に追い越し4n² + 7nいます。 O(n²)O(4n²)はまったく同じことを意味し、かつてのための任意の定数cは後者のためにc/4に置き換えることができますので、 - それはそこに係数を残すことは技術的に間違っていないのです。しかし、そのようなことは、おそらく誤解を招く、と間違いなく非標準それほど明確ではない。

数学的に言えば、あなたはO(4n²)を書きます。それはつまり、正の無限大に向けたとしてN->4n²あなたのアルゴリズムの振る舞いの複雑機能ます。

しかし、コンピュータサイエンス/アルゴリズムでは、あなただけのアルゴリズムを分類するのに十分である、O(n²)を記述します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top