Problem Statement:
Implement recursive DFS traversal in Undirected Graph.
Solution:
DFS : Depth First Search
DFS traversal starts from a node , explores as far as possibles and then backtracks. This algorithms explores the depth of a node and then backtracks along the same path.
Full Source Code : Link
Please comment and post suggestions.
Happy Coding !! :)
Implement recursive DFS traversal in Undirected Graph.
Solution:
DFS : Depth First Search
DFS traversal starts from a node , explores as far as possibles and then backtracks. This algorithms explores the depth of a node and then backtracks along the same path.
Full Source Code : Link
/**
* Procedure for Recursive DFS
*/
public void dfs(){
System.out.println("Recursive DFS :");
Set<Map.Entry<Integer, Boolean>> entrys = vistedStatus.entrySet();
Iterator<Entry<Integer, Boolean>> it = entrys.iterator();
while(it.hasNext())
{
Map.Entry<Integer, Boolean> entry = it.next();
boolean isVisited=entry.getValue();
if(!isVisited){
dfsUtil(entry.getKey());
}
}
}
public void dfsUtil(int vertex){
List <Integer> list = adjList.get(vertex) ;
vistedStatus.put(vertex, true) ;
System.out.println(vertex + "\t");
int size = list.size();
for(int i = 0;i < size ; i++){
int v=list.get(i);
if(!vistedStatus.get(v))
dfsUtil(v);
}
}
Please comment and post suggestions.
Happy Coding !! :)

No comments:
Post a Comment