如何使用 nx.single_source_shortest_path 优化图表?

How can i optimize my graph using nx.single_source_shortest_path?

我有一个基本上是二叉树的未加权图。 每个节点都有一个父节点,主父节点是parentNode。节点之间有许多交联。我想找到从 parentNode 到所有其他 Node 的最短路径。

import networkx as nx

G = nx.Graph()
G.add_nodes_from(nodeList)
G.add_edges_from(edgeList)
optimized_pathDict = nx.single_source_shortest_path(G,"parentNode")

如何在不解析 optimized_pathDict 字典的情况下将 optimized_pathDict 转换为边缘列表?

生成与 return 路径关联的边列表非常容易:

edges = {e for p in pathDict.values() for e in zip(p[:-1],p[1:])}
oG = Graph(edges)

也可以直接添加路径:

oG = Graph()
for p in pathDict.values():
    oG.add_path(p)