我想使用一个特定的节点作为根,将一个无向图强制为一个有向图。我可以使用dfs_tree()
来实现这一点:
G = nx.Graph([(0, 1, {"color": "red"}), (1, 2, {"color": "blue"}), (3, 2, {"color": "green"})])
DG = nx.dfs_tree(G, 0)
但问题是这些属性在过程中丢失了:
DG.edges(data=True)
OutEdgeDataView([(0, 1, {}), (1, 2, {}), (2, 3, {})])
在不丢失属性的情况下,是否有其他方法可以做到这一点?还是我必须手动将它们映射回
如果有足够的可用内存,可以首先创建具有所有边的
DiGraph
,然后删除所有边,但dfs_edges
。这将保留所有属性信息。或者,您可以迭代dfs_edges
并检索边信息,将边和标签添加到有向图中相关问题 更多 >
编程相关推荐