问题描述
我有一个包含 4 个节点的完整图 G。我需要为生成最小生成树的边缘着色。我怎样才能用 networkx 和 python 做到这一点?
解决方法
networkx.draw
接受一个可选的 edge_color
关键字参数,它允许您指定各个边的颜色。使用 minimum_spanning_tree
函数,我们可以将位于最小生成树内的边着色为红色,否则将其着色为黑色。
代码
import networkx as nx
G = nx.complete_graph(4)
mst = nx.minimum_spanning_tree(G)
edge_colors = ['red' if e in mst.edges else 'black' for e in G.edges]
nx.draw(G,edge_color=edge_colors)