dfs_successors#
- dfs_successors(G, source=None, depth_limit=None, *, sort_neighbors=None)[source]#
返回从源节点开始的深度优先搜索中的后继节点字典。
- 参数:
- GNetworkX 图
- source节点, 可选
指定深度优先搜索的起始节点。请注意,您将获得包含
source
的连通分量中所有节点的后继节点。此输入仅指定 DFS 的开始位置。- depth_limitint, 可选 (默认=len(G))
指定最大搜索深度。
- sort_neighbors函数 (默认=None)
一个函数,接受一个节点迭代器作为输入,并返回一个具有自定义排序的相同节点可迭代对象。例如,
sorted
将按升序排列节点。
- 返回:
- succ: dict
一个字典,其中节点作为键,后继节点列表作为值。
注意
如果未指定源节点,则会任意选择一个源节点并重复搜索,直到图中的所有连通分量都被搜索。
此函数的实现改编自 David Eppstein 在 PADS 中的深度优先搜索函数,并根据维基百科文章“深度限制搜索”进行了修改以允许设置深度限制。
示例
>>> G = nx.path_graph(5) >>> nx.dfs_successors(G, source=0) {0: [1], 1: [2], 2: [3], 3: [4]} >>> nx.dfs_successors(G, source=0, depth_limit=2) {0: [1], 1: [2]}