[解決済み] 幅優先と深さ優先の木探索の時間的・空間的複雑性は?
2023-07-04 10:13:07
質問
これらのトラバーサルメソッドの時間と空間の複雑さをどのように計算するのか、誰か例を挙げて説明してください。
また、深さ優先の探索に対する再帰的な解法は、時間と空間の複雑さにどのような影響を与えるのでしょうか?
どのように解決するのですか?
BFSです。
時間の複雑さは
O(|V|)
であり、ここで
|V|
はノードの数である。すべてのノードをトラバースする必要があります。
空間の複雑さは
O(|V|)
というのも、最悪の場合、キュー内のすべての頂点を保持する必要があるためです。
DFSです。
時間の複雑さは再び
O(|V|)
であり、すべてのノードをトラバースする必要があります。
空間の複雑さ - 実装に依存し、再帰的な実装では
O(h)
空間の複雑さ [最悪の場合]、ここで
h
は木の最大深度です。
スタックを使った反復解法は、実はBFSと同じで、キューの代わりにスタックを使っているだけなので、両方が得られます。
O(|V|)
時間および空間の複雑さを得ることができます。
(*) 木の場合、空間的複雑性と時間的複雑性は一般的なグラフの場合とは少し異なることに注意してください。
visited
のセットを維持する必要がなく、また
|E| = O(|V|)
は、だから
|E|
の要素は実際には冗長です。
関連
-
[解決済み] グラフにおいて最小容量が最大となる経路の探索
-
[解決済み] CLRSの相対的漸近成長に関する問題(表)の解き方について教えてください。
-
[解決済み] 山積みされた靴下を効率よく組み合わせるには?
-
[解決済み] O(log n)とは具体的にどのような意味ですか?
-
[解決済み] 簡単な面接問題が難しくなった:1~100の数字が与えられたとき、ちょうどk個の数字が欠けていることを見つけなさい。
-
[解決済み] ヒープの構築はどうして時間計算量O(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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】決定木(比較ソートアルゴリズム)の葉の最短の深さ)
-
[解決済み] バックトラッキングとダイナミックプログラミングの違い
-
[解決済み] log(n!)=Θ(n-log(n))でしょうか?
-
[解決済み] アルゴリズムと関数の違いは何ですか?[クローズド]
-
[解決済み] クイックソート ピボットの選択
-
[解決済み] ある問題がNP完全であることをどのように証明するか?
-
[解決済み] MapReduceのソートアルゴリズムはどのように動作するのですか?
-
[解決済み] ヒューリスティックとアルゴリズムの違いは何ですか?
-
[解決済み] ユークリッド・アルゴリズムの時間計算量
-
[解決済み] Dijkstraのアルゴリズムはなぜdecrease-keyを使うのですか?