Package edu.princeton.cs.algs4
Class NonrecursiveDFS
- Object
 - 
- edu.princeton.cs.algs4.NonrecursiveDFS
 
 
- 
public class NonrecursiveDFS extends Object
TheNonrecursiveDFSclass 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
DepthFirstSearchfor 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 graph, int s)Computes the vertices connected to the source vertexsingraph. 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidmain(String[] args)Unit tests theNonrecursiveDFSdata type.booleanmarked(int v)Is vertexvconnected to the source vertexs? 
 - 
 
- 
- 
Constructor Detail
- 
NonrecursiveDFS
public NonrecursiveDFS(Graph graph, int s)
Computes the vertices connected to the source vertexsingraph.- Parameters:
 graph- the graphs- the source vertex- Throws:
 IllegalArgumentException- unless0 <= s < V
 
 - 
 
- 
Method Detail
- 
marked
public boolean marked(int v)
Is vertexvconnected to the source vertexs?- Parameters:
 v- the vertex- Returns:
 trueif vertexvis connected to the source vertexs, andfalseotherwise- Throws:
 IllegalArgumentException- unless0 <= v < V
 
- 
main
public static void main(String[] args)
Unit tests theNonrecursiveDFSdata type.- Parameters:
 args- the command-line arguments
 
 - 
 
 -