Package edu.princeton.cs.algs4
Class DepthFirstDirectedPaths
- Object
 - 
- edu.princeton.cs.algs4.DepthFirstDirectedPaths
 
 
- 
public class DepthFirstDirectedPaths extends Object
TheDepthFirstDirectedPathsclass represents a data type for finding directed paths from a source vertex s to every other vertex in the digraph.This implementation uses depth-first search. The constructor takes Θ(V + E) time in the worst case, where V is the number of vertices and E is the number of edges. Each instance method takes Θ(1) time. It uses Θ(V) extra space (not including the digraph).
For additional documentation, see Section 4.2 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.
- Author:
 - Robert Sedgewick, Kevin Wayne
 
 
- 
- 
Constructor Summary
Constructors Constructor Description DepthFirstDirectedPaths(Digraph digraph, int s)Computes a directed path fromsto every other vertex indigraph. 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanhasPathTo(int v)Is there a directed path from the source vertexsto vertexv?static voidmain(String[] args)Unit tests theDepthFirstDirectedPathsdata type.Iterable<Integer>pathTo(int v)Returns a directed path from the source vertexsto vertexv, ornullif no such path. 
 - 
 
- 
- 
Constructor Detail
- 
DepthFirstDirectedPaths
public DepthFirstDirectedPaths(Digraph digraph, int s)
Computes a directed path fromsto every other vertex indigraph.- Parameters:
 digraph- the digraphs- the source vertex- Throws:
 IllegalArgumentException- unless0 <= s < V
 
 - 
 
- 
Method Detail
- 
hasPathTo
public boolean hasPathTo(int v)
Is there a directed path from the source vertexsto vertexv?- Parameters:
 v- the vertex- Returns:
 trueif there is a directed path from the source vertexsto vertexv,falseotherwise- Throws:
 IllegalArgumentException- unless0 <= v < V
 
- 
pathTo
public Iterable<Integer> pathTo(int v)
Returns a directed path from the source vertexsto vertexv, ornullif no such path.- Parameters:
 v- the vertex- Returns:
 - the sequence of vertices on a directed path from the source vertex
         
sto vertexv, as an Iterable - Throws:
 IllegalArgumentException- unless0 <= v < V
 
- 
main
public static void main(String[] args)
Unit tests theDepthFirstDirectedPathsdata type.- Parameters:
 args- the command-line arguments
 
 - 
 
 -