Warning

This documents an unmaintained version of NetworkX. Please upgrade to a maintained version and see the current NetworkX documentation.

dfs_preorder_nodes

dfs_preorder_nodes(G, source=None)[source]

Produce nodes in a depth-first-search pre-ordering starting from source.

Parameters:

G : NetworkX graph

source : node, optional

Specify starting node for depth-first search and return edges in the component reachable from source.

Returns:

nodes: generator

A generator of nodes in a depth-first-search pre-ordering.

Notes

Based on http://www.ics.uci.edu/~eppstein/PADS/DFS.py by D. Eppstein, July 2004.

If a source is not specified then a source is chosen arbitrarily and repeatedly until all components in the graph are searched.

Examples

>>> G = nx.Graph()
>>> G.add_path([0,1,2])
>>> print(list(nx.dfs_preorder_nodes(G,0)))
[0, 1, 2]