bfs_tree#
- bfs_tree(G, source, reverse=False, depth_limit=None, sort_neighbors=None)[source]#
Returns an oriented tree constructed from of a breadth-first-search starting at source.
- Parameters:
- GNetworkX graph
- sourcenode
Specify starting node for breadth-first search
- reversebool, optional
If True traverse a directed graph in the reverse direction
- depth_limitint, optional(default=len(G))
Specify the maximum search depth
- sort_neighborsfunction (default=None)
A function that takes an iterator over nodes as the input, and returns an iterable of the same nodes with a custom ordering. For example,
sorted
will sort the nodes in increasing order.
- Returns:
- T: NetworkX DiGraph
An oriented tree
See also
dfs_tree
bfs_edges
edge_bfs
Notes
Based on http://www.ics.uci.edu/~eppstein/PADS/BFS.py by D. Eppstein, July 2004. The modifications to allow depth limits based on the Wikipedia article “Depth-limited-search”.
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)] ----
Additional backends implement this function
- cugraphGPU-accelerated backend.
sort_neighbors
parameter is not yet supported.