Hash を使って実装した、普通の有向グラフ。
DirectedHashGraph.new([vertices[, edges, [params]]])
頂点 vertices 、辺 edges を持つ有向グラフを作ります。
vertices には頂点の配列を指定します(例: [0, 1, 2, 3])。 頂点は Object#eql? で等値比較できるオブジェクトなら、何でもいいです。
edges には辺の配列を指定します(例: [[0, 1, 1.0], [2, 3, 2.0]])。 各辺は [始点, 終点, 重み] という配列で指定します。 重みは省略可能です。
頂点と辺は、あとから add_vertex
、 add_edge
などで
追加できます。
params は Graph#parameter の戻り値を設定する パラメータです。あまり使いません。
グラフクラス共通のメソッドの説明は Graph 、GraphAlgorithm に有ります。参照してください。
self[ v, w ] = weight
辺 [v, w]
の重みを weight にします。
辺 [v, w]
が無ければ、作ります。
add_edge(v, w[, weight])
self[v, w]= weight
と同じです。 weight
を省略すると 1
になります。delete_edge(v, w)
[v, w]
を削除します。add_vertex(v)
delete_vertex(v)
頂点 v を削除します。
v を始点や終点とする辺も削除します。