dfs_edges#
- dfs_edges(G, source=None, depth_limit=None, *, sort_neighbors=None)[source]#
深度优先搜索(DFS)遍历边。
在图
G
的节点上执行深度优先搜索,并按顺序生成边。这可能不会生成G
中的所有边(参见edge_dfs
)。- Parameters:
- GNetworkX 图
- source节点, 可选
指定深度优先搜索的起始节点,并生成从该节点可达的组件中的边。
- depth_limit整数, 可选 (默认值=len(G))
指定最大搜索深度。
- sort_neighbors函数 (默认值=None)
一个接受节点迭代器的函数,并返回按自定义顺序排列的相同节点的可迭代对象。例如,
sorted
将按递增顺序对节点进行排序。
- Yields:
- edge: 2-元组节点
生成深度优先搜索产生的边。
Notes
如果没有指定起始节点,则任意选择一个起始节点,并重复直到图中所有组件都被搜索。
此函数的实现改编自 David Eppstein 在 PADS 中的深度优先搜索函数 [1],并进行了修改以允许基于维基百科文章“深度受限搜索” [2] 的深度限制。
References
Examples
>>> G = nx.path_graph(5) >>> list(nx.dfs_edges(G, source=0)) [(0, 1), (1, 2), (2, 3), (3, 4)] >>> list(nx.dfs_edges(G, source=0, depth_limit=2)) [(0, 1), (1, 2)]