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)]