Design-and-analysis-of-algorithms-vertex-cover
提供:Dev Guides
DAA-頂点カバー
無向グラフ G =(V、E) の頂点カバーは、頂点 V ^ '^⊆V のサブセットであるため、エッジ (u、v) が* G_のエッジである場合*、次に '_V の u または V ^ '^ _ の _v' 、あるいはその両方。
特定の無向グラフで最大サイズの頂点カバーを見つけます。 この最適な頂点カバーは、NP完全問題の最適化バージョンです。 ただし、最適に近い頂点カバーを見つけることはそれほど難しくありません。
例
与えられたグラフのエッジのセットは-
ここで、任意のエッジ(1,6)を選択することから始めます。 頂点1または6に付随するすべてのエッジを削除し、カバーにエッジ(1,6)を追加します。
次のステップでは、ランダムに別のエッジ(2,3)を選択しました
次に、別のエッジ(4,7)を選択します。
別のエッジ(8,5)を選択します。
したがって、このグラフの頂点カバーは\ {1,2,4,5}です。
分析
このアルゴリズムの実行時間は O(V + E) であり、隣接リストを使用して _E ^ '^ _ を表すことは簡単にわかります。