1
私が読んだ本によると、値が1からnまでの頂点を使ってグラフを構築することが多いため、すべての頂点に固有の名前が付いています。[グラフ]:関係のグラフを作成する
私は、値文字列である頂点を使用してグラフを構築する必要があり、私は彼らのためにグラフを構築する前に
V = {'Arm', 'Bob', 'Lin', 'Kok'} #vertices
E = {('Arm', 'Lin'), (Bob, 'Lin'), ('Bob', 'Kok')} #edges
私は整数にこれらの文字列の頂点をマッピングすることになってると言いますか? 私が参照できる例はありますか?
import pygraphviz as pgv
A=pgv.AGraph()
A.add_edge('foo', 'bar')
A.add_edge('bar', 'baz')
A.add_edge('baz', 'foo')
A.write('simple.dot')
B=pgv.AGraph('simple.dot')
B.layout()
B.draw('simple.png')
または、あなたの場合」:
数字にマップする理由はありません。私はどのソフトウェアを使用しているのかよくわかりませんが、pygraphvizで描画する場合は名前をうまく使うことができます。 – Owen
@Owen、実際には、DFSやBFSなどのグラフアルゴリズムを実装しようとしていますが、書籍から学んだ方法は、検出されたすべての頂点を灰色または黒色にし、すべての頂点に1からnの番号を割り当てます。色は配列color [i]で表すことができますが、頂点が文字列の場合、どのように色付け作業を行うことができますか?だから私はすべての文字列の頂点を1からnの範囲の数字にマッピングする必要があると思った。私は正しい? – Alcott
できます。ノード自体に色を格納する(オブジェクトにする)こともできますし、dictで色を保持し、 'color [name]'を使って色を得ることもできます。 – Owen