2010-11-25 3 views
2

Big-Ohに関する質問と回答をこことmath.stackexchangeの両方で読んだことがあり、これはmath.stackexchangeと同様に最適な場所だと思われますこの種の質問が好きなようです。だから私はCSコースでユニにいくつかのコースを受けました。私はそれを完全に理解しておらず、皆さんが助けてくれることを望んでいました。 「宿題」の質問はここではほんの少し眉をひそめているので、別の例をではなくとしますが、は同様のスタイルのです。もしF(nはその定義2.5ショーを使用してBig-Oh、定義の矛盾

だからここは私がノートに与えられている定義は次のとおりです。 alt text

そして、私が与えられている質問です)はO(g(n))であり、k + f(n)もまたO(g(n))である。

私はこれらの問題に対するあらゆる種類の答えをWebで検索しています。定義2.5を見ると、f(n)はO(g(n))であり、k + f(n)はO(g(n))であるという。それだけで十分ですが、それがどのように得られたかを証明しなければならないようです。私は最初にそれが誘導によって何らかの形で行われるべきだと思ったが、その後それに対して決定し、より簡単な方法が必要である。

ご協力いただければ幸いです。私は誰かがちょうど正直に私に答えを与えることを期待していない。私は、方法論やこれを行う技法をどこで学ぶことができるかについての参照をより好むでしょう。これはではなく、私の実際の教訓ですが、同様のスタイルの質問です。

ありがとうございました。

答えて

2

f(n)が0(g(n))であると仮定した場合、cとa 'が存在する。すべてのn> kについて:
'F(N)< = CG(n)は

レットがkよりも、すべてのn大きいため番目のK < = Dの*のG(N)をd F(N)+ Kを考えます'もしKがOであるため可能である知る (1)
次いで
F(N)+ K < = CG(N)+ DG(N)=(D + C)(G(N))
もし

+1

質問には、指定された定義を使用する必要があると記載されています。 –

+0

私の答えは現在、指定された定義を使用するように更新されました –

+0

これは愚かな質問かもしれませんが、あなたの答えには何を意味するのですか? –

0

==> F + kがO(g)にあり、Cの定義と代替D + Cを使用次いでkf(n)O(g(n))次にあなたは、HA、この値を合計することができるされ、O(1)でありますこれはO(g(n))です。

f(n)は、O(g(n))k + f(n)であるあなたがあなたの本の中で

をwritedしているので、またO(g(n))ある一定の

定数の追加を無視ビッグ-Oを変更することはできませんので、常に無視されます表記、任意の定数はO(1)Big-O表記です。

1

F(N)< = CG(n)は

K + F(N)< = c'g(N)C」= CK

ので、K + F(n)がありますO(g(n))

0

これは価値があるということについて、これはbig-O表記のやや高次元の定義です。より一般的で、私の意見では、より直感的な定義は、n->aとしてf(n) ~ O(g(n))となるととしてn->a有限の実数Aの場合です。

重要な部分は、制限のコンテキストが必要であるということです。 CSでは、その限界は暗黙的に無限に取られます(これは問題サイズが大きくなるにつれてnの傾向があるためです)が、原則として何でもかまいません。たとえば、sin(x) ~ O(x)x->0とします(実際は、これはちょうどxに漸近しています;これは小さな角度近似です)。