Package edu.princeton.cs.algs4
Class NonrecursiveDFS
- Object
-
- edu.princeton.cs.algs4.NonrecursiveDFS
-
public class NonrecursiveDFS extends Object
TheNonrecursiveDFS
class represents a data type for finding the vertices connected to a source vertex s in the undirected graph.This implementation uses a nonrecursive version of depth-first search with an explicit stack. See
DepthFirstSearch
for the classic recursive version. The constructor takes Θ(V + E) time in the worst case, where V is the number of vertices and E is the number of edges. Themarked(int)
instance method takes Θ(1) time. It uses Θ(V) extra space (not including the graph).For additional documentation, see Section 4.1 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.
- Author:
- Robert Sedgewick, Kevin Wayne
-
-
Constructor Summary
Constructors Constructor Description NonrecursiveDFS(Graph G, int s)
Computes the vertices connected to the source vertexs
in the graphG
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static void
main(String[] args)
Unit tests theNonrecursiveDFS
data type.boolean
marked(int v)
Is vertexv
connected to the source vertexs
?
-
-
-
Constructor Detail
-
NonrecursiveDFS
public NonrecursiveDFS(Graph G, int s)
Computes the vertices connected to the source vertexs
in the graphG
.- Parameters:
G
- the graphs
- the source vertex- Throws:
IllegalArgumentException
- unless0 <= s < V
-
-
Method Detail
-
marked
public boolean marked(int v)
Is vertexv
connected to the source vertexs
?- Parameters:
v
- the vertex- Returns:
true
if vertexv
is connected to the source vertexs
, andfalse
otherwise- Throws:
IllegalArgumentException
- unless0 <= v < V
-
main
public static void main(String[] args)
Unit tests theNonrecursiveDFS
data type.- Parameters:
args
- the command-line arguments
-
-