networkx.algorithms.traversal.breadth_first_search.bfs_edges¶
-
bfs_edges
(G, source, reverse=False, depth_limit=None)[source]¶ Iterate over edges in a breadth-first-search starting at source.
Parameters: - G (NetworkX graph)
- source (node) – Specify starting node for breadth-first search and return edges in the component reachable from source.
- reverse (bool, optional) – If True traverse a directed graph in the reverse direction
- depth_limit (int, optional(default=len(G))) – Specify the maximum search depth
Returns: edges – A generator of edges in the breadth-first-search.
Return type: generator
Examples
To get the edges in a breadth-first search:
>>> G = nx.path_graph(3) >>> list(nx.bfs_edges(G, 0)) [(0, 1), (1, 2)] >>> list(nx.bfs_edges(G, source=0, depth_limit=1)) [(0, 1)]
To get the nodes in a breadth-first search order:
>>> G = nx.path_graph(3) >>> root = 2 >>> edges = nx.bfs_edges(G, root) >>> nodes = [root] + [v for u, v in edges] >>> nodes [2, 1, 0]
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”.