NIST

all simple paths

(classic problem)

Definition: Find all simple paths from a starting vertex (source) to a destination vertex (sink) in a directed graph. In an undirected graph, find all simple paths between two vertices.

See also all pairs shortest path.

Note: The paths may be enumerated with a depth-first search. The search can avoid repeating vertices by marking them as they are visited in the recursion, then removing the mark just before returning from the recursive call.

Author: PEB

More information

A general solution.


Go to the Dictionary of Algorithms and Data Structures home page.

If you have suggestions, corrections, or comments, please get in touch with Paul E. Black.

Entry modified Fri Dec 17 12:27:41 2004.
HTML page formatted Mon Dec 19 14:07:46 2005.

Cite this as:
Paul E. Black, "all simple paths", from Dictionary of Algorithms and Data Structures, Paul E. Black, ed., NIST.
http://www.nist.gov/dads/HTML/allSimplePaths.html

to NIST home page