[英]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.