Package edu.princeton.cs.algs4
Class DepthFirstSearch
- Object
-
- edu.princeton.cs.algs4.DepthFirstSearch
-
public class DepthFirstSearch extends Object
TheDepthFirstSearchclass represents a data type for determining the vertices connected to a given source vertex s in an undirected graph. For versions that find the paths, seeDepthFirstPathsandBreadthFirstPaths.This implementation uses depth-first search. See
NonrecursiveDFSfor a non-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. Each 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 DepthFirstSearch(Graph graph, int s)Computes the vertices ingraphthat are connected to the source vertexs.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intcount()Returns the number of vertices connected to the source vertexs.static voidmain(String[] args)Unit tests theDepthFirstSearchdata type.booleanmarked(int v)Is there a path between the source vertexsand vertexv?
-
-
-
Constructor Detail
-
DepthFirstSearch
public DepthFirstSearch(Graph graph, int s)
Computes the vertices ingraphthat are connected to the source vertexs.- Parameters:
graph- the graphs- the source vertex- Throws:
IllegalArgumentException- unless0 <= s < V
-
-
Method Detail
-
marked
public boolean marked(int v)
Is there a path between the source vertexsand vertexv?- Parameters:
v- the vertex- Returns:
trueif there is a path,falseotherwise- Throws:
IllegalArgumentException- unless0 <= v < V
-
count
public int count()
Returns the number of vertices connected to the source vertexs.- Returns:
- the number of vertices connected to the source vertex
s
-
main
public static void main(String[] args)
Unit tests theDepthFirstSearchdata type.- Parameters:
args- the command-line arguments
-
-