[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/ahern88/Java/master/DataStructures/Graphs/DFS.java [Back]  [Original]

import java.util.*;

/**
 * Implementation of a Depth First Search
 * 
 * @author Unknown
 *
 */

public class DFS{
	
	/**
	 * Implementation in code of a DFS
	 * 
	 * @param a structure to be DFS'ed
	 * @param vertices The vertices
	 * @param source The source
	 */
	public static void dfsImplement(byte [][] a,int vertices,int source){            //passing adjacency matrix and no of vertices
		byte []b=new byte[vertices];               //flag container containing status of each vertices
		Arrays.fill(b,(byte)-1);                  //status initialization
		/*       code   status 
		          -1  =  ready
		           0  =  waiting
		           1  =  processed       */
		
		
		Stack st=new Stack(vertices);         //operational stack
		st.push(source);                          //assigning source
		while(!st.isEmpty()){
			b[st.peek()]=(byte)0;                 //assigning waiting status
			System.out.println(st.peek());
			int pop=st.pop();
			b[pop]=(byte)1;                       //assigning processed status
			for(int i=0;i

Web Proxy Viewer  |  New URL  |  Original Page