import java.util.LinkedList; public class DFSRecursion { static class Graph{ int vertices; LinkedList[] adjList; Graph(int vertices){ this.vertices = vertices; adjList = new LinkedList[vertices]; for (int i = 0; i (); } } public void addEgde(int source, int destination){ adjList[source].add(destination); adjList[destination].add(source); } public void DFSRecursion(int startVertex){ boolean [] visited = new boolean[vertices]; dfs(startVertex, visited); } public void dfs(int start, boolean [] visited){ visited[start] = true; System.out.print(start + " "); for (int i = 0; i