> >nがあるNより大きいときに,
> このNというのは何を示しているのでしょうか?
> ここではN=2としてましたが、このNは任意の値でしょうか?それとも定数項の2でしょうか?
定数ではないですし,任意のNに対する話でもないです。
nが正の方向へ大きくなっていくとき,N以下では|kg(n)|<=|f(n)|かもしれないが,Nをこえれば常に|f(n)|<|kg(n)|となるkとNが存在するという主張の為のNです。
> あと、この定義が成り立つようにg(n)を定めようとすると、条件に合致するg(n)が沢山出てきそうな気がするのですが、g(n)が沢山存在したら不都合とかは無いのでしょうか?
たくさん存在するような定義です。
実際にはf(n)∈Ο(g(n))となるg(n)の中で,一番発散速度の遅い物が使われることが多いと思います。
このため,Ο(g(n))をΘ(g(n))のように使っていることも多いと思いますよ。
Ο(g(n)):上界。n > Nで常に|f(n)| < |kg(n)|。5n^2 + 3n + 5ならΟ(n^2), Ο(n^2 log n), Ο(n^3)等。
Ω(g(n)):下界。n > Nで常に|f(n)| > |kg(n)|。5n^2 + 3n + 5ならΩ(n^2), Ω(n log n), Ω(n)等。
Θ(g(n)):上界かつ下界。言い換えると,f(n)∈Ο(g(n))かつf(n)∈Ω(g(n))。5n^2 + 3n + 5ならΘ(n^2)。
お礼
O記法って沢山存在するように定義されたものだったのですか。 O記法って複雑ですね。条件に合致する値を見つけるのが大変そう・・・ 回答ありがとうございました。
補足
ずいぶん定義が複雑なのですが、このような定義でどうしてアルゴリズムの計算量が求められるのでしょうか?