最近、複数のセクション全体の内容に描く、「アルゴリズム入門」、それを読むために時間を割い(最短パスを受ける権利がない埋め動的計画中な章のみと献身的な背後にある、道を開いた)、適用条件は異なりますが、そこにあります証明。
あなたは暗記する予定がない場合は、単にアプリケーションを証明する、アルゴリズムは非常に便利ではないされている特定のシーンリコールが適用会いに行きます。
クイックリファレンスを容易にするため、元の本に基づいて翻訳オーダービットの第2版を機械プレスを手に、次の。
これは、「*」の章と内容を行使するでマークされた質問を、考えて含まれていません。
シンボル定義
一般に、
図G=(V, E)
、請求V
代表的な顶点
一連のE
代表的な边
セット。ω(u, v)
U頂点から頂点vへ代表エッジ重み。
場合ω(u, v)
合計が1であり、Gは、図の重み付けと呼ばれていません。
付加的な定義
- DAG:ダイレクトませ回路図
- トポロジカルソート:DAG出力ノード特定の規則によれば、そこからV Uからエッジであり、Vは、Uの前にあります。
- 強連結成分:図Gについて(V、E)、頂点C⊆Gのセットは、前記頂点のすべての対がuとv、uおよびvは互いに到達可能である場合、Cは、強連結成分Gと呼ばれています
- 最小スパニングツリー:加重和が最も小さいの連結グラフG Tの無サブセットは、頂点と辺全てを含んでいます。
- リラクゼーション技術:頂点S、Dについて[V] Sは距離vを表します。もしD [V]> D [U] +ω(U、V)、次に更新D [V] = D [U] +ω(U、V)
- 最大流量:ソースノードとシンクノードを含む最大流量については、図に非負の重みです。
- 最大二部マッチング:図G =(V、E)、側M⊆Eの存在のサブセットに対して、全てv∈Vを満たし、Mは、エッジVに関連付けられた最大値を有します。最大マッチング「は最大潜在的一致、すなわち、Mが存在しないエッジのより数です。
チートシート
アルゴリズム名 | スコープ | 核となるアイデア | 基本的な手順 | 時間複雑 | リマーク |
---|---|---|---|---|---|
BFS BFS | そこでは、描画は、描画/無重量を含みません | 1. 2.キューかどうか訪れた頂点シェーダに応じて | 順次隣接するすべての頂点にノードにアクセスし、着色がキューへのアクセスを加えました。チームのリストから、各サイクルチーム。 | O(V + E) | 図最短パスを計算非加重します |
深さ優先探索DFS) | そこでは、描画は、描画/無重量を含みません | 2. 1.再帰的に着色するかどうかに応じて頂点を訪問しました | 順次隣接するすべての頂点にノードにアクセスし、アクセスしたとき、その隣接頂点を下降着色。 | O(V + E) | |
トポロジカルソート(DFS) | DAY | DFS | 最初のDFSが完了したときに頂点リストを挿入し、DFSを実行し、結果のリストはソートトポロジカルあります | O(V + E) | |
計算強連結成分(DFS) | DAY | DFS | DFSは、スパニングツリーが第DFS強連結成分であるアクセスノードの降順にDFS図Gを反転した後、再を計算、実行しました | O(V + E) | |
最小スパニングツリーアルゴリズム-Kruskal | 無向図。 | 貪欲アルゴリズム | ノードのセットが空集合に初期化され、各追加の安全エッジAから選択されます 具体的には、各ノードは、それぞれがA =A∪{(U、V)}、その結果、このケースを満たすノードが(u、v)は集合が等しくない最小量のエッジを取る初期のセットであります | O(ELGV) | |
最小スパニングツリーアルゴリズム-Prim | 無向図。 | 貪欲アルゴリズム | ノードのセットが空集合に初期化され、各追加の安全エッジAから選択されます 具体的には、すべてのノードが第1ノードAに参加し、距離Aが正の無限大である初期化し、距離Aが0です。各すべての最も近い側Aから頂点の集合を取って、それはその頂点U、VおよびU更新(新規距離=分の全ての隣接ノードから添加した(VにU、キー(V) ))、すべての頂点までのAに参加しています | O(ElgV)、Oを向上させることができる(E + VlgV) | |
シングルソースの最短経路アルゴリズム-Bellmanフォード | 負の図の重量、重量があるかもしれません | リラクゼーションテクニック | 緩和時間、トップポイント数-1 | 彼(AND) | 負のサイクルがある場合、戻り値はfalseです。これは、差動制約問題解決のために使用することができます。 |
シングルソースの最短経路-dag | DAY | トポロジカルソート、リラクゼーション法 | トポロジカルソートは、そのすべてのリラックスした肢に、頂点をフェッチシーケンシャル | O(V + E) | |
シングルソースの最短経路アルゴリズム-Dijkstra | 図有向非ネガティブエッジ重み | リラクゼーションテクニック | 頂点は、Sが空集合、ソースノードSの添加に初期化される設定しました。S uの頂点最寄り全体の距離を選択し、uのすべての頂点がSを組み込むまで、すべての隣接する頂点を緩和V | O((V + E)LGV) | O(VlgV + E)に最適化缶フィボナッチヒープ |
頂点のすべての対の最短経路アルゴリズム-Floyd、ウォーシャル | 有向グラフ | ダイナミックプログラミング | 三重ループ、K、I、J - > N 1、D(K)(I)(J)=分(D(K-1)(i)から(j)は、D(K-1)(I)( K)+ D(K-1)(J)(K)) | O(N ^ 3) | |
頂点の各ペアの最短経路アルゴリズム-Johnson | 有向グラフ、疎グラフ、エッジ加重非負 | ヘビーエンパワーメント、ダイクストラ+ベルマン・フォード | より複雑な、少し | O(V ^ 2lgV + VE) | |
方法最大流量-Ford - フルカーソン | ソースノードとシンク頂点を含む図非負、エッジ重み、 | それに対応する実現に三つのイデオロギー的依存 | より複雑な、少し | 基本的なアルゴリズムはO(E | F * |) | この本は、基本的なアルゴリズム、Edmods-カープアルゴリズムを記述しています。溶液は、最大二部マッチング問題のために使用することができます |
メモした後、
頂点の各対の間の最短経路を解決が、ダイクストラとベルマン・フォード、わずかに特定の分析と最適ではないことができます。
添付ファイル:マップ関連NP完全問題
詳細に問題の意味を説明していません。
- グループ問題
- 第35章近似アルゴリズムで導入された頂点被覆問題、
- ハミルトニアン回路の問題
- 第35章紹介近似アルゴリズムでは、巡回セールスマン問題