Simplex
Twophase
Dijkstra
Prim
Kruskal
Ford-Fulkerson
Prim JavaScript demos:
FAQ
Japanese/English
|
最小木問題
連結グラフ G=(V,E) と重み d:E->R+が与えられたとき
最小木を求めよ。
プリムのアルゴリズム
プリム法はたいへん効率の良いアルゴリズムとして知られている。
- Set i=0, S0= {u0=s},
L(u0)=0, and L(v)=infinity for v <> u0.
If |V| = 1 then stop, otherwise go to step 2.
- For each v in V\Si, replace L(v) by
min{L(v), dvui}.
If L(v) is replaced, put a label (L(v), ui) on v.
- Find a vertex v which minimizes {L(v): v in V\Si},
say ui+1.
- Let Si+1 = Si cup {ui+1}.
- Replace i by i+1. If i=|V|-1 then stop, otherwise go to step 2.
下の JavaScript によるプリム法の実現は O(|E|log|V|) アルゴリズムである。
JavaScript ソースファイル:
JavaScript デモ:
関連ページ:
|