如何为构成最小生成树的图的边缘着色

问题描述 投票:0回答:1

我有一个完整的图 G,有 4 个节点。我需要对构成最小生成树的边缘进行着色。我怎样才能用networkx和python做到这一点?

python python-3.x networkx graph-theory
1个回答
1
投票

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)

输出

© www.soinside.com 2019 - 2024. All rights reserved.