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)]