"Depth First Searcha Java by ALGS4 princeton" Code Answer's
You're definitely familiar with the best coding language Whatever that developers use to develop their projects and they get all their queries like "Depth First Searcha Java by ALGS4 princeton" answered properly. Developers are finding an appropriate answer about Depth First Searcha Java by ALGS4 princeton related to the Whatever coding language. By visiting this online portal developers get answers concerning Whatever codes question like Depth First Searcha Java by ALGS4 princeton. Enter your desired code related query in the search bar and get every piece of information about Whatever code related question on Depth First Searcha Java by ALGS4 princeton.
Depth First Searcha Java by ALGS4 princeton
/******************************************************************************
* Compilation: javac DepthFirstSearch.java
* Execution: java DepthFirstSearch filename.txt s
* Dependencies: Graph.java StdOut.java
* Data files: https://algs4.cs.princeton.edu/41graph/tinyG.txt
* https://algs4.cs.princeton.edu/41graph/mediumG.txt
*
* Run depth first search on an undirected graph.
* Runs in O(E + V) time.
*
* % java DepthFirstSearch tinyG.txt 0
* 0 1 2 3 4 5 6
* NOT connected
*
* % java DepthFirstSearch tinyG.txt 9
* 9 10 11 12
* NOT connected
*
******************************************************************************/
/**
* The {@code DepthFirstSearch} class represents a data type for
* determining the vertices connected to a given source vertex <em>s</em>
* in an undirected graph. For versions that find the paths, see
* {@link DepthFirstPaths} and {@link BreadthFirstPaths}.
* <p>
* This implementation uses depth-first search.
* See {@link NonrecursiveDFS} for a non-recursive version.
* The constructor takes Θ(<em>V</em> + <em>E</em>) time in the worst
* case, where <em>V</em> is the number of vertices and <em>E</em>
* is the number of edges.
* Each instance method takes Θ(1) time.
* It uses Θ(<em>V</em>) extra space (not including the graph).
* <p>
* For additional documentation, see
* <a href="https://algs4.cs.princeton.edu/41graph">Section 4.1</a>
* of <i>Algorithms, 4th Edition</i> by Robert Sedgewick and Kevin Wayne.
*
* @author Robert Sedgewick
* @author Kevin Wayne
*/
public class DepthFirstSearch {
private boolean[] marked; // marked[v] = is there an s-v path?
private int count; // number of vertices connected to s
/**
* Computes the vertices in graph {@code G} that are
* connected to the source vertex {@code s}.
* @param G the graph
* @param s the source vertex
* @throws IllegalArgumentException unless {@code 0 <= s < V}
*/
public DepthFirstSearch(Graph G, int s) {
marked = new boolean[G.V()];
validateVertex(s);
dfs(G, s);
}
// depth first search from v
private void dfs(Graph G, int v) {
count++;
marked[v] = true;
for (int w : G.adj(v)) {
if (!marked[w]) {
dfs(G, w);
}
}
}
/**
* Is there a path between the source vertex {@code s} and vertex {@code v}?
* @param v the vertex
* @return {@code true} if there is a path, {@code false} otherwise
* @throws IllegalArgumentException unless {@code 0 <= v < V}
*/
public boolean marked(int v) {
validateVertex(v);
return marked[v];
}
/**
* Returns the number of vertices connected to the source vertex {@code s}.
* @return the number of vertices connected to the source vertex {@code s}
*/
public int count() {
return count;
}
// throw an IllegalArgumentException unless {@code 0 <= v < V}
private void validateVertex(int v) {
int V = marked.length;
if (v < 0 || v >= V)
throw new IllegalArgumentException("vertex " + v + " is not between 0 and " + (V-1));
}
/**
* Unit tests the {@code DepthFirstSearch} data type.
*
* @param args the command-line arguments
*/
public static void main(String[] args) {
In in = new In(args[0]);
Graph G = new Graph(in);
int s = Integer.parseInt(args[1]);
DepthFirstSearch search = new DepthFirstSearch(G, s);
for (int v = 0; v < G.V(); v++) {
if (search.marked(v))
StdOut.print(v + " ");
}
StdOut.println();
if (search.count() != G.V()) StdOut.println("NOT connected");
else StdOut.println("connected");
}
}
Source: algs4.cs.princeton.edu
All those coders who are working on the Whatever based application and are stuck on Depth First Searcha Java by ALGS4 princeton can get a collection of related answers to their query. Programmers need to enter their query on Depth First Searcha Java by ALGS4 princeton related to Whatever code and they'll get their ambiguities clear immediately. On our webpage, there are tutorials about Depth First Searcha Java by ALGS4 princeton for the programmers working on Whatever code while coding their module. Coders are also allowed to rectify already present answers of Depth First Searcha Java by ALGS4 princeton while working on the Whatever language code. Developers can add up suggestions if they deem fit any other answer relating to "Depth First Searcha Java by ALGS4 princeton". Visit this developer's friendly online web community, CodeProZone, and get your queries like Depth First Searcha Java by ALGS4 princeton resolved professionally and stay updated to the latest Whatever updates.