[解決済み] グラフの隣接リスト表現の空間複雑性
質問
読む
こちら
無向グラフの場合、空間の複雑さは
O(V + E)
を隣接リストとして表現した場合
V
と
E
はそれぞれ頂点と辺の数である。
私の分析では、完全連結グラフの場合、リストの各エントリには
|V|-1
ノードがある場合、合計で
|V|
の頂点を含むので、空間の複雑さは
O(|V|*|V-1|)
と思われますが
O(|V|^2)
何が足りないのでしょうか?
どのように解決するのですか?
あなたの分析は正しい
完全連結グラフの場合
. しかし,完全連結グラフの場合,辺の数
E
は
O(V^2)
そのものなので、表記は
O(V+E)
の空間の複雑さについても、やはり正しい。
しかし、隣接リストの本当の利点は、あまり密に接続されていないグラフのスペースを節約できることです。もし、辺の数が
V^2
の場合、隣接リストには
O(V+E)
そして
ない
O(V^2)
のスペースが必要です。
について話すとき、注意してください。
O
-ノテーションは、通常、3種類の変数(あるいは一般的な入力データ)を持っています。1つ目は、研究対象である変数の依存性、2つ目は、定数とみなされる変数、3つ目は、自由変数の一種で、通常
最悪の場合
の値です。例えば、配列のソートが
N
整数の場合、通常、ソート時間の
N
ということで
N
は第1種である。通常,整数の大きさは一定であると考えます(つまり,比較は
O(1)
また、通常、特定の配列要素を"free"と考え、つまり特定の配列要素の最悪の組み合わせに対する実行時間を研究します。しかし、同じアルゴリズムを別の視点から研究したいと思うかもしれませんし、それは異なる複雑さの表現につながります。
グラフのアルゴリズムでは、もちろん頂点の数を考慮することができます。
V
を第一種、辺の数を第三種とし、与えられた
V
と、最悪の場合のエッジの数についてです。すると、確かに
O(V^2)
. しかし
V
と
E
を最初の型の変数とすると、複雑な式は次のようになります。
O(V+E)
.
関連
-
[解決済み】なぜO(n)はO( nlog(n) )よりも優れているのでしょうか?)
-
[解決済み] 決定論的クイックソートとは何ですか?
-
[解決済み] アルゴリズムの教科書では、ソートされた配列について「増加」ではなく「非減少」を使っているのはなぜですか?
-
[解決済み] グラフが半連結であるか否かを判定する
-
[解決済み] 再帰性 T(n) = T(n^(1/2)) + 1
-
[解決済み] log(n!)=Θ(n-log(n))でしょうか?
-
[解決済み] 線形時間でのソート?[クローズド]
-
[解決済み] T = {<M> | Mはwを受け入れるときはいつでも$w^R$を受け入れるTMである}とする。Tが決定不可能であることを示せ
-
[解決済み] Breadth First Searchの時間複雑性解析
-
[解決済み] 簡単な面接問題が難しくなった:1~100の数字が与えられたとき、ちょうどk個の数字が欠けていることを見つけなさい。
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】クイックソートとヒープソートの比較
-
[解決済み] アルゴリズム設計マニュアル』の解答はどこにあるのですか?[終了しました]
-
[解決済み] 素朴な」アルゴリズムとは何か、「閉じた」解とは何か?
-
[解決済み] 決定論的クイックソートとは何ですか?
-
[解決済み] 2進数が3で割れているかどうかを知るには?
-
[解決済み] CLRSの相対的漸近成長に関する問題(表)の解き方について教えてください。
-
[解決済み] 解いてみてください。T(n) = T(n-1) + n [重複] とする。
-
[解決済み] 線形時間でのソート?[クローズド]
-
[解決済み] T = {<M> | Mはwを受け入れるときはいつでも$w^R$を受け入れるTMである}とする。Tが決定不可能であることを示せ
-
[解決済み] DFSとBFSの時間計算量がともにO( V + E )であるのはなぜか?