オリジナルリンク:https://www.cnblogs.com/guweiwei/p/7083368.html
図重みは、ウェブの縁を割り当てまたは加重グラフをいう、重み付きグラフがツリーの重量を基準にして、スパニングツリーT値の各辺の重みの加重和のスパニングツリーです。
最小スパニングツリー(MST):最小重量スパニングツリー。
そして、最小スパニングツリーのアプリケーションにまたがる:n個の都市はラインのN-1の辺と通信する必要があります。重みは、ラインのコスト側として解釈することができます。最小スパニングツリーは、それがコスト最小スパニングツリーを表します。
最小スパニングツリー構造のネットワークは、以下の2つの問題に対処する必要があります。
できるだけ1は、小さな量側を選択するが、ループを形成することができません。
2、n-1個の通信N頂点に適切な側を選択します。
MST特性:G =(V、E)が通信ネットワークであると仮定し、Uは、頂点Vの非空集合であります (u、v)は最小加重値を有するエッジである場合、前記u∈U、v∈V-Uは、確かに、最小スパニングツリーの(U、V)エッジを備えるがあります。
1.prim アルゴリズム
基本的な考え方:G =(V、E)が通信状態にあると仮定し、TEは、エッジの集合におけるGの最小スパニングツリーです。アルゴリズムはU = {U0}(u0∈V)、TE = {}開始します。以下の操作を繰り返します。
全て側u∈Uの重み値を見つけ、v∈V-Uは(U、V)∈E最小エッジ(U0、V0)V = Uまで、U V0組み込まながらTEが組み込まれている設定しました。
この場合、TEは、Gの最小スパニングツリーのn-1個の縁、T =(V、TE)が存在しなければなりません。
コアプリムのアルゴリズム:常にTEは、スパニングツリーを構成するエッジのセットを保持します。
注:稠密図ためのプリムのアルゴリズムは、その時の複雑さはあまりにも時間の独立した側面の数の複雑さはO(n ^ 2)です。
上記のテキストの大きなブロックを読んで、よりよく理解するために、私は例を与えることができ、ああ、次の例を少しめまいを感じていません。
(1)図の図6の頂点V1-V6、各エッジのエッジの重みを、。プリムアルゴリズム中、Iは、ランダムに開始点として頂点を選択する、もちろん、出発点として、我々は、一般的にV1を選択し、さて、今私たちは頂点現在見つかっ内のツリーUを最小全域ためのコレクションを設定して、TEのコレクションは現在、次のように述べる、側面を発見されました。
UのV1 = {}; TE = {};
(2)Uは、現在設定されている頂点を検索し、赤いラインが交差の最小値を見つけるために、以下に示すようにVU内の頂点の他のセットの最小重量。
我々は、1の図エッジ重みV1〜V3の最小を通して見ることができ、その後、U V3は、(V1、V3)はTE、以下の状態に追加されたセットに追加されました:
U = {V1、V3}; TE = {(V1、V3)}。
(3)検索し続け、現在の状態はU = {V1、V3}であり; TE = {(V1、V3)};及び赤線のエッジ交差で最小値を求めます。
我々は、重量(V3、V6)= 4の最小値を見つけることができ、我々はV6がUに追加される設定し、最小エッジがTEは、以下を添加した後、次いで収集、状態に加えました。
U = {V1、V3、V6}; TE = {(V1、V3)、(V3、V6)};このサイクルでは、我々は全ての頂点を見つけるまで。
(4)次の絵は私たち全体の検出プロセスを示しています。
クラスカル(クラスカル)アルゴリズム(のみ関連する側)
アルゴリズムの説明:クラスカルのアルゴリズムは、グラフのエッジへのアクセスを必要とするので、クラスカルのみエッジとの関係のアルゴリズムの時間複雑性は、その時間複雑度はO(eloge)であることを証明することができます。
アルゴリズムのプロセス:
1図は、重量の各側面に従ってソート
図2の横断時間を、最小のエッジ重みを見つける:セット(この側に最小スパニングツリーは、エッジの集合に追加される識別できない環を形成する)、それらは条件を満たしていれば、最小スパニングツリーの添加。マップをトラバースし続け条件を満たしていない、最小重量の次のエッジを見つけます。
3.繰り返しがn-1辺を見つけるまで、再帰的に1ステップ(n個のノードを備えた図を、最小スパニングツリーの辺の数がn-1であるべきである)、アルゴリズムは終了します。この最小スパニングツリーは、図に得られます。
クラスカル(クラスカル)アルゴリズムのみ関連する側面ため、図の最小スパニングツリーを薄くするための需要。プライムアルゴリズム図のための唯一の頂点と、その密集最小スパニングツリーので。
アルゴリズムの時間計算量は、スパースグラフのエッジの数とクラスカルO(eloge)に関連しています。