Package edu.princeton.cs.algs4
Class NonrecursiveDirectedDFS
- Object
-
- edu.princeton.cs.algs4.NonrecursiveDirectedDFS
-
public class NonrecursiveDirectedDFS extends Object
TheNonrecursiveDirectedDFS
class 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 G, int s)
Computes the vertices reachable from the source vertexs
in the digraphG
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static void
main(String[] args)
Unit tests theNonrecursiveDirectedDFS
data type.boolean
marked(int v)
Is vertexv
reachable from the source vertexs
?
-
-
-
Constructor Detail
-
NonrecursiveDirectedDFS
public NonrecursiveDirectedDFS(Digraph G, int s)
Computes the vertices reachable from the source vertexs
in the digraphG
.- Parameters:
G
- the digraphs
- the source vertex- Throws:
IllegalArgumentException
- unless0 <= s < V
-
-
Method Detail
-
marked
public boolean marked(int v)
Is vertexv
reachable from the source vertexs
?- Parameters:
v
- the vertex- Returns:
true
if vertexv
is reachable from the source vertexs
, andfalse
otherwise- Throws:
IllegalArgumentException
- unless0 <= v < V
-
main
public static void main(String[] args)
Unit tests theNonrecursiveDirectedDFS
data type.- Parameters:
args
- the command-line arguments
-
-