[解決済み】Θ(n)とO(n)の違いは何ですか?)
質問
Θ(n)の真ん中に何かある変なΘの記号があるときと、ただのO(n)のときがあります。この記号の打ち方を誰も知らないので、ただ単に打ち方が悪いのか、それとも何か違う意味があるのでしょうか?
どのように解決するのですか?
簡単に説明します。
<ブロッククオートあるアルゴリズムがΘ(g(n))の場合、n(入力サイズ)が大きくなるにつれて、そのアルゴリズムの実行時間がg(n)に比例することを意味します。
あるアルゴリズムが O(g(n)) であれば、n が大きくなったときの実行時間が せいぜい g(n)に比例する。
通常、O(g(n))と言われても、実際にはΘ(g(n))のことですが、厳密には違いがあるんですね。
もっと技術的に
O(n)は上界を表します。Θ(n)は、タイトバウンドを意味する。 Ω(n)は下限を表す。
<ブロッククオートf(x) = Θ(g(x)) if f(x) = (x)の場合。 O(g(x))かつf(x)=Ω(g(x))
基本的にあるアルゴリズムがO(n)であると言うとき、それはまたO(n)である。 2 )、O(n 1000000 ), O(2 n ), ... しかし、Θ(n)アルゴリズムは ではなく Θ(n 2 ).
実際、f(n) = Θ(g(n)) なので、nが十分に大きい値であれば、f(n)はc以内での束縛が可能であることを意味する。 <サブ 1 g(n)とc <サブ 2 g(n) のある値に対する c <サブ 1 とc <サブ 2 すなわち,fの成長率は漸近的にgに等しく,gは下界となりうる。 と このことは、fがgの下界と上界になりうることを直接的に意味している。その結果
f(x) = Θ(g(x)) if g(x) = Θ(f(x))
同様に、f(n) = Θ(g(n)) を示すには、gがfの上界(つまりf(n) = O(g(n)))で、fがgの下界(つまりf(n) = Ω(g(n)) g(n) = O(f(n)) と全く同じこと)であれば良いのです。簡潔に言えば
f(x) = O(g(x)) かつ g(x) = O(f(x)) ならば、f(x) = Θ(g(x))
リトル・オーやリトル・オメガもありますよ(
ω
) 関数の緩い上界と緩い下界を表す記法です。
要約すると
f(x) = O(g(x))
(ビッグ・オー)とは の成長率はf(x)
は 漸近的に 以下 になります。 の成長率にg(x)
.
f(x) = Ω(g(x))
(big-omega)とは の成長率が低下していること。f(x)
は 漸近的に よりも大きいか に等しい。 の成長率はg(x)
f(x) = o(g(x))
(リトル・オー)とは の成長率はf(x)
は 漸近的に 未満 その の成長率g(x)
.
f(x) = ω(g(x))
(リトルオメガ)とは の成長率が低下していること。f(x)
は 漸近的に よりも大きい その の成長率g(x)
f(x) = Θ(g(x))
(シータ)は、以下のことを意味します。 の成長率はf(x)
は 漸近的に に等しい。 その の成長率g(x)
より詳しい解説は ウィキペディアの定義を読む あるいは、CormenらのIntroduction to Algorithmsのような古典的な教科書を参照してください。
関連
-
[解決済み] O(logn)とO(nlogn)の相違点
-
[解決済み] f(n) = O(g(n)) もしくは g(n) = O(f(n))
-
[解決済み] Low boundとTight boundの違いは何ですか?
-
[解決済み] O(log n)とは具体的にどのような意味ですか?
-
[解決済み] w(array)とはどういう意味ですか?
-
[解決済み] Big-O表記とLittle-O表記の違いについて
-
[解決済み】大きなӨ記号は、具体的に何を表すのですか?
-
[解決済み] 標準コンテナの複雑さ保証とは?
-
[解決済み] アクセス時間O(1)」とはどういう意味ですか?
-
[解決済み] 2^nとn*2^nは同じ時間複雑性か?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] O(logn)とO(nlogn)の相違点
-
[解決済み] 再帰的関数の空間複雑性
-
[解決済み] f(n) = O(g(n)) もしくは g(n) = O(f(n))
-
[解決済み] ネストされたループのうち、内側のループの反復回数が外側のループの現在の反復回数によって決定されるBig-Oとは何ですか?
-
[解決済み] ビッグ・オー vs ビッグ・シータ【重複あり
-
[解決済み] O(log n)とは具体的にどのような意味ですか?
-
[解決済み] O(1/n)のアルゴリズムはあるのか?
-
[解決済み】HashMap、LinkedHashMap、TreeMapの違いについて
-
[解決済み】Θ(n)とO(n)の違いは何ですか?)
-
[解決済み] アクセス時間O(1)」とはどういう意味ですか?