当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python NetworkX bfs_successors用法及代码示例


本文简要介绍 networkx.algorithms.traversal.breadth_first_search.bfs_successors 的用法。

用法:

bfs_successors(G, source, depth_limit=None, sort_neighbors=None)

返回源中广度优先搜索中后继者的迭代器。

参数

GNetworkX 图
source节点

指定广度优先搜索的起始节点

depth_limit整数,可选(默认=len(G))

指定最大搜索深度

sort_neighbors函数

将给定节点的邻居列表作为输入的函数,并在这些邻居上返回 iterator,但具有自定义排序。

返回

成功:迭代器

(node, successors) 迭代器,其中 successors 是来自 source 的广度优先搜索中 node 的后继者的非空列表。要出现在迭代器中,node 必须有后继。

注意

基于 D. Eppstein 的 http://www.ics.uci.edu/~eppstein/PADS/BFS.py,2004 年 7 月。根据 Wikipedia 文章“Depth-limited-search”进行的允许深度限制的修改。

例子

>>> G = nx.path_graph(3)
>>> print(dict(nx.bfs_successors(G, 0)))
{0: [1], 1: [2]}
>>> H = nx.Graph()
>>> H.add_edges_from([(0, 1), (0, 2), (1, 3), (1, 4), (2, 5), (2, 6)])
>>> print(dict(nx.bfs_successors(H, 0)))
{0: [1, 2], 1: [3, 4], 2: [5, 6]}
>>> G = nx.Graph()
>>> nx.add_path(G, [0, 1, 2, 3, 4, 5, 6])
>>> nx.add_path(G, [2, 7, 8, 9, 10])
>>> print(dict(nx.bfs_successors(G, source=1, depth_limit=3)))
{1: [0, 2], 2: [3, 7], 3: [4], 7: [8]}
>>> G = nx.DiGraph()
>>> nx.add_path(G, [0, 1, 2, 3, 4, 5])
>>> print(dict(nx.bfs_successors(G, source=3)))
{3: [4], 4: [5]}

相关用法


注:本文由纯净天空筛选整理自networkx.org大神的英文原创作品 networkx.algorithms.traversal.breadth_first_search.bfs_successors。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。