繁体   English   中英

networkx库的dfs_edges函数找不到所有的边

[英]the function dfs_edges of networkx library can not find all the edges

我想用dfs_edges networkx库中找到源节点的所有可达边缘,但它不能完全找到所有的边缘,我的代码是:

import networkx as nx
from networkx import dfs_edges

nodes = [0,1,2,3,4]
edges = [(0,1),(0,2),(1,2),(1,3),(2,3),(0,4)]
DG = nx.DiGraph()
DG.add_nodes_from(nodes)
DG.add_edges_from(edges)

print(list(dfs_edges(DG,1)))

结果是[(1, 2), (2, 3)] ,但(1,3)也是节点1的可达边,为什么结果不包含它?

使用 edge_dfs 而不是 dfs_edges 可以解决这个问题。

  • edge_dfs(G, source) 继续直到它访问了源可到达的每条边。

  • dfs_edges(G, source) 一旦访问了源节点可以到达的所有节点,就停止。

     import networkx as nx from networkx import edge_dfs nodes = [0,1,2,3,4] edges = [(0,1),(0,2),(1,2),(1,3),(2,3),(0,4)] DG = nx.DiGraph() DG.add_nodes_from(nodes) DG.add_edges_from(edges) print(list(edge_dfs(DG,1))) # [(1, 2), (2, 3), (1,3)]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM