dfs_predecessors#

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

返回从源节点开始的深度优先搜索中的前驱节点字典。

Parameters:
GNetworkX 图
source节点, 可选

指定深度优先搜索的起始节点。 注意,您将获得包含 source 的连通分量中所有节点的前驱节点。此输入仅指定 DFS 的起始位置。

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

指定最大搜索深度。

sort_neighbors函数 (默认=None)

一个接受节点迭代器的函数,并返回具有自定义顺序的相同节点的可迭代对象。 例如, sorted 将按递增顺序对节点进行排序。

Returns:
pred: dict

一个以节点为键、前驱节点为值的字典。

Notes

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

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

Examples

>>> G = nx.path_graph(4)
>>> nx.dfs_predecessors(G, source=0)
{1: 0, 2: 1, 3: 2}
>>> nx.dfs_predecessors(G, source=0, depth_limit=2)
{1: 0, 2: 1}