From 2cafa7fee40841c001de43a69072f844ae9d3638 Mon Sep 17 00:00:00 2001 From: Ayush Yadav Date: Sat, 20 Oct 2018 01:58:15 +0530 Subject: [PATCH] add DFS.py --- Python/algorithms/DFS.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 Python/algorithms/DFS.py diff --git a/Python/algorithms/DFS.py b/Python/algorithms/DFS.py new file mode 100644 index 0000000..61de004 --- /dev/null +++ b/Python/algorithms/DFS.py @@ -0,0 +1,37 @@ +from collections import defaultdict + +class Graph: + + def __init__(self): + + self.graph = defaultdict(list) + + def addEdge(self,u,v): + self.graph[u].append(v) + + def DFSUtil(self,v,visited): + + visited[v]= True + print v, + + for i in self.graph[v]: + if visited[i] == False: + self.DFSUtil(i, visited) + + + def DFS(self,v): + + visited = [False]*(len(self.graph)) + + self.DFSUtil(v,visited) + + +g = Graph() +edges = input("input the number of edges : ") +print "enter nodes with zero based indexing : " +for i in range(edges): + a, b = map(int, raw_input().split()) + g.addEdge(a, b) + +check = input("DFS check from node : ") +g.DFS(check) \ No newline at end of file