GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — Java/Programs/DFS.java at main · arshcoder13/Java Expand file tree/ Copy pathDFS.javaMore file actions 67 lines (48 loc) · 1.31 KB / Copy pathDFS.javaFile metadata and controls67 lines (48 loc) · 1.31 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 //Note - for disconnected graph use the approach for checking connected components. package project0; import java.util.Iterator; import java.util.LinkedList; import java.util.Queue; class Graph{ private int v ; //total number of vertices private LinkedList<Integer> adj[]; //adjacency list private boolean visited[]; //to keep track of the node which are visited. Graph(int v){ this.v = v; this.adj = new LinkedList[v]; this.visited = new boolean[v]; for(int i=0;i<this.v;i++) { adj[i] = new LinkedList<Integer>(); this.visited[i] = false; } } public void addEdge(int u,int v) { // edge from u -> v this.adj[u].add(v); } public void DFS(int source) { //if the node is already visited, then backtrack. if(this.visited[source] == true) { return; } //mark the source vertex as visited System.out.print(source+" "); this.visited[source] = true; //traverse through all the neighbours and backtrack if already visited. LinkedList<Integer> neighbours = this.adj[source]; for(int next : neighbours) { DFS(next); } } } public class Main { public static void main(String args[]){ Graph g = new Graph(4); g.addEdge(0, 1); g.addEdge(0, 2); g.addEdge(1, 2); g.addEdge(2, 0); g.addEdge(2, 3); g.addEdge(3, 3); g.DFS(2); } } |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |