グラフの色を数えるためにコードに助けが必要です 色のリストを印刷するための小さなコードを書きました。Pythonのグラフの色を数えます
import networkx as nx
g = nx.Graph()
g.add_nodes_from([1,2,3,4,5])
g.add_edges_from([(1,2),(1,3),(1,4),(1,5),(4,5)])
C = set(xrange(12))
color = {}
for u in g:
interdits = set([color[v] for v in g.neighbors(u) if color.has_key(v)])
color[u] = min(C-interdits)
print color
出力にそれらを数える:
{1: 0, 2: 1, 3: 1, 4: 1, 5: 2}
この出力の代わりに、結果を3にする必要がありますので、色を数えたいと思います。 アイデアや助け?? ありがとうございます
(私は元々has_key行を書いた人を知っていると思うし、彼の習慣だ:-)私は実際にはlen(set)を好む。実装の詳細に依存しないから選ばれた。 (ここではそれほど重要ではありませんが、ノードがラベルを持っていると仮定することができるいくつかのSageグラフ理論のバグを考えることができます) – DSM
@DSM Interesting。それは私にとって論理的な仮定のように思えましたが、確かにそれが真実であるかどうかはわかりません。 – agf