Package edu.princeton.cs.algs4
Class NonrecursiveDirectedDFS
- Object
-
- edu.princeton.cs.algs4.NonrecursiveDirectedDFS
-
public class NonrecursiveDirectedDFS extends Object
TheNonrecursiveDirectedDFSclass represents a data type for finding the vertices reachable from a source vertex s in the digraph.This implementation uses a nonrecursive version of depth-first search with an explicit stack. 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 NonrecursiveDirectedDFS(Digraph digraph, int s)Computes the vertices reachable from the source vertexsindigraph.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidmain(String[] args)Unit tests theNonrecursiveDirectedDFSdata type.booleanmarked(int v)Is vertexvreachable from the source vertexs?
-
-
-
Constructor Detail
-
NonrecursiveDirectedDFS
public NonrecursiveDirectedDFS(Digraph digraph, int s)
Computes the vertices reachable from the source vertexsindigraph.- Parameters:
digraph- the digraphs- the source vertex- Throws:
IllegalArgumentException- unless0 <= s < V
-
-
Method Detail
-
marked
public boolean marked(int v)
Is vertexvreachable from the source vertexs?- Parameters:
v- the vertex- Returns:
trueif vertexvis reachable from the source vertexs, andfalseotherwise- Throws:
IllegalArgumentException- unless0 <= v < V
-
main
public static void main(String[] args)
Unit tests theNonrecursiveDirectedDFSdata type.- Parameters:
args- the command-line arguments
-
-