# 何も見ないで Dijkstra 法を書けるようになりたい
何も見ないで Dijkstra 法を書けるようになりたい,ので,練習する. といってもただただ暗記するのは応用が効かないので,DFS・BFS と比較して覚えることにする.
# グラフ上の探索の一般形
「発見したけどまだ未訪問」の頂点リストから次に訪問する頂点の選び方の違いによって性格が変わる.
| |
select_funcでsuspendedを stack みたいに扱うと DFS.
select_funcでsuspendedを queue みたいに扱うと BFS.
#
suspendedを優先度付きキューとして扱えば Dijkstra 法
| |
# ついでに Prim 法
最小全域木を計算するアルゴリズム.頂点一つからなる木から始めて,木に含まれていない頂点と木に含まれる頂点を結ぶ辺のうち,重さの最小のものを採用し木に含まれる頂点を増やす,ということを繰り返す.Dijkstra 法に雰囲気似ている.
| |