dfs_preorder_nodes#

dfs_preorder_nodes(G, source=None, depth_limit=None, *, sort_neighbors=None)[source]#

生成从源节点开始的深度优先搜索前序遍历中的节点。

参数:
GNetworkX 图
source节点,可选

指定深度优先搜索的起始节点,并返回从源节点可达的分量中的节点。

depth_limitint,可选 (默认=len(G))

指定最大搜索深度。

sort_neighbors函数 (默认=None)

一个函数,接受节点迭代器作为输入,并返回具有自定义顺序的相同节点的迭代器。例如,sorted 将按升序排列节点。

返回:
nodes: 生成器

深度优先搜索前序遍历中的节点生成器。

注意

如果未指定源节点,则会任意选择一个源节点并重复搜索,直到遍历图中所有分量。

此函数的实现改编自 David Eppstein 在 PADS 中的深度优先搜索函数,并根据维基百科文章“深度受限搜索”进行了修改以允许设置深度限制。

示例

>>> G = nx.path_graph(5)
>>> list(nx.dfs_preorder_nodes(G, source=0))
[0, 1, 2, 3, 4]
>>> list(nx.dfs_preorder_nodes(G, source=0, depth_limit=2))
[0, 1, 2]