bfs_tree#

bfs_tree(G, source, reverse=False, depth_limit=None, sort_neighbors=None)[source]#

返回从源节点开始进行广度优先搜索构建的有向树。

Parameters:
GNetworkX 图
source节点

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

reverse布尔值, 可选

如果为 True,则在反向方向遍历有向图

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

指定最大搜索深度

sort_neighbors函数 (默认=None)

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

Returns:
T: NetworkX 有向图

一个有向树

See also

dfs_tree
bfs_edges
edge_bfs

Notes

基于 http://www.ics.uci.edu/~eppstein/PADS/BFS.py 由 D. Eppstein 于 2004 年 7 月编写。允许基于维基百科文章 “ 深度限制搜索” 的深度限制的修改。

Examples

>>> G = nx.path_graph(3)
>>> list(nx.bfs_tree(G, 1).edges())
[(1, 0), (1, 2)]
>>> H = nx.Graph()
>>> nx.add_path(H, [0, 1, 2, 3, 4, 5, 6])
>>> nx.add_path(H, [2, 7, 8, 9, 10])
>>> sorted(list(nx.bfs_tree(H, source=3, depth_limit=3).edges()))
[(1, 0), (2, 1), (2, 7), (3, 2), (3, 4), (4, 5), (5, 6), (7, 8)]