5

我在networkx中有一个有向图G,我想得到它的最小生成树。我愿意:

 T = nx.algorithms.minimum_spanning_tree( G.to_undirected()  )

这是无方向的,我想恢复方向,但我不知道该怎么做。我试过:

G[T.edges()]

最后一行看起来很pythonic,但这不是networkx的工作方式,显然......有谁知道怎么做?

换句话说:在给定(无向)边的情况下,如何获得有向树的子图?

4

1 回答 1

5

您可以通过简单的理解G获得 MST 中出现的边缘:T

E = set(T.edges())  # optimization
[e for e in G.edges() if e in E or reversed(e) in E]

然后,您可以从中构建一个新图表。

于 2014-05-08T09:20:02.123 回答