アルゴリズムの設計と解析コースレビューノート10--最小スパニングツリー

アルゴリズムの設計と解析コースレビューノート10--最小スパニングツリー

最小スパニングツリーMST

道路問題
、小さな町、いくつかの住宅や道路の一部、およびすべての道路の接続および接続の2軒のだけの家、接続されているメンテナンスコストuとvロードハウスは、(u、v)は、wがあり
、今だけの十分な道路を修復する必要があります両院それぞれ、最小のメンテナンスコストの間の通信を維持するために:ような。

ピクチャーは、右側のための道路整備費の描画、頂点ハウスエッジへの接続ではありません。
T、TサブセットE、およびW(T)=を見つけます。 Σ V T ワット ( u , v ) \ displaystyle \和_ {(U、V)∈T} W(U、V)

最小スパニングツリー特性

  • 非ユニーク
  • ノーループ
  • MST側の数は、頂点の数マイナス1であります

MSTが生成
一般的な手順:
エッジAのセットを作成し、ブランクの場合、出発
徐々にA側に添加し、そしてAは、保持MSTの一部である
A IFF∪{(u、v)は } MSTのサブセットであり、我々エッジ(U、V)Aにとって安全であることを特徴とします

一般的なアルゴリズムMST
A←空のセット
Aは、スパニングツリー(MSTが形成されていない)ではない間、
 あることをA SafeのANエッジ(U、V)を検索します(側が安全(U、V)を見つけるために)
  A←A {∪(U、V)}
Aを返します

安全性の側面を見つける方法?
いくつかの定義:

  • 切断:グラフの頂点2つの切断された2つのセットにSとV - Sを
  • カッティングエッジの2つの端点場合、それぞれ、二組のS及びVに - S、我々は、エッジを横切ってそのカットを言います
  • 非介入を切断のコレクション \ leftrightarrow セットAと刃先が交差しません
  • エッジを横切る光カット \ leftrightarrow すべての最小重量縁に切れ刃を横切ります

定理:
AサブセットMST、(S、V - S)でAを切断する非介入であり、(U、V)光のエッジを横切って切断され、次いで、(U、V)Aのために安全です。

クラスカル法

  1. 、各頂点のコンポーネントで始まり、からの各頂点
  2. 側光LEを選択することにより、2つの成分が一緒に接続され続けます
  3. エッジ検査の順で設定された優先順位の値をインクリメント
  4. かどうかは、エッジ決意の異なる構成要素データ構造無関係なセットを使用して接続します

関連する操作のないコレクション

  1. MAKE-SET(U)のみの要素を含む、コレクションを作成するには、u
  2. FIND-SET(U)は、Uを含む、代表的な要素を返します
  • 集合の任意の要素は、特定の属性を持っています
  • セット S u S_U 特徴は、アルファベット順の最初の文字である
    例: S u S_U = {R、S、T、U}、FIND-SET(U)= R、FIND-SET(S)= R
  • 所与のセットのために、同じ値を返します
  1. UNION(U、V)マージ操作
    例: S u S_U = {R、S、T、U}、 S v S_V = {V、X、Y}
    UNION(U、V)= {R、S、T、U、V、X、Y}

クラスカル(W V、E)
 A←空集
 各頂点v∈Vのためには、
  MAKE-SET(V)を行う
 (权值递增排序)wは重量非減少順にソートEを
 それぞれ(u、v)はから取られたためソートされたリストが
  ない場合FIND-SET(U)≠FIND-SET(V)(属于不同的组件)
   次に、A←A∪{(u、v)は}
    UNION(u、v)は
 戻りA

ランニングコスト: O ( E l g V ) O(ELGV)
最小スパニングツリー
プリムアルゴリズム

  1. エッジのセットはツリーを形成します
  2. 任意の選択されたルートの先頭から
  3. 毎回
  • (切断を特定します V A V_A 、V - V A V_A )ル
  • A LEの添加
  • ツリー内のすべての頂点を備えるまで繰り返し
  1. 貪欲戦略:木重みの側縁と増加最小の各添加

どのように迅速LEを決定?
プライオリティキューを使用します

  • それはないすべての頂点(Vツリーを含んでいます - V A V_A
  • 各頂点は、キー値、任意の側に接続された、すなわちツリーを(U、V)は、Vの最小重みが割り当てられる
    V場合 V A V_A 任意の頂点に接続されていない場合、キー値 \ inftyの
    ノードが増加すると、すべてのノードのキー値は調整を行い、それに接続されました

プリム(V、E、R、W)
 Q←空集
 各U∈Vのための
  実行キー[U]← \ inftyの
    π[U]←NILの
 キー[R]←0
 Q←V
 ながらQ≠空集
   行うU←EXTRACT-MIN(Q)
   各Vため∈調整] [U]
    なければ、V∈QおよびW(U、V) <キー[V]
      次にπ[V]←U
        キー[V]←W(U、V)

PRIM1
PRIM2
PRIM3
PRIM4
アルゴリズム分析
PRIM分析

参考:担任教師教授クーテック赤コースウェア

公開された25元の記事 ウォン称賛19 ビュー10000 +

おすすめ

転載: blog.csdn.net/weixin_42605042/article/details/89811107
おすすめ