【发布时间】:2020-03-11 06:47:25
【问题描述】:
我正在尝试生成完整的路径列表而不是优化的路径列表。使用以下示例更好地解释。
import networkx as nx
G = nx.Graph()
G.add_edges_from([(0, 1), (1, 2), (2, 3)])
G.add_edges_from([(0, 1), (1, 2), (2, 4)])
G.add_edges_from([(0, 5), (5, 6)])
上面的代码创建了一个带有边0=>1=>2=>3和0=>1=>2=>4和0=>5=>6的Graph
我只想从0 中提取所有路径。
我试过了:
>> list(nx.dfs_edges(G, 0))
[(0, 1), (1, 2), (2, 3), (2, 4), (0, 5), (5, 6)]
我想要的是:
[(0, 1, 2, 3), (0, 1, 2, 4), (0, 5, 6)]
有没有来自networkx 的现有方法可以使用?如果没有,有什么方法可以编写出可以完成这项工作的最佳方法?
注意:我的问题仅限于给定的示例。没有更多的极端情况。
注意2:为简化起见,生成数据。就我而言,边缘列表来自数据集。假设给定一个图和一个节点(比如0),我们可以生成所有路径吗?
【问题讨论】:
标签: python networkx depth-first-search