public class NonrecursiveDirectedDFS extends Object
NonrecursiveDirectedDFS
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 time proportional to V + E, where V is the number of vertices and E is the number of edges. It uses extra space (not including the digraph) proportional to V.
For additional documentation, see Section 4.2 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.
Constructor and Description |
---|
NonrecursiveDirectedDFS(Digraph G,
int s)
Computes the vertices reachable from the source vertex
s in the digraph G . |
public NonrecursiveDirectedDFS(Digraph G, int s)
s
in the digraph G
.G
- the digraphs
- the source vertexIllegalArgumentException
- unless 0 <= s < V
public boolean marked(int v)
v
reachable from the source vertex s
?v
- the vertextrue
if vertex v
is reachable from the source vertex s
,
and false
otherwiseIllegalArgumentException
- unless 0 <= v < V
public static void main(String[] args)
NonrecursiveDirectedDFS
data type.args
- the command-line arguments