Skip to content

Commit

Permalink
Merge pull request #406 from pandyaved98/patch-2
Browse files Browse the repository at this point in the history
Create DFS.py
  • Loading branch information
fineanmol committed Oct 2, 2021
2 parents af39bea + b835729 commit ec6d747
Showing 1 changed file with 55 additions and 0 deletions.
55 changes: 55 additions & 0 deletions Program's_Contributed_By_Contributors/Python_Programs/DFS.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Python3 program to print DFS traversal
from collections import defaultdict

class Graph:

# Constructor
def __init__(self):

# Default dictionary to store graph
self.graph = defaultdict(list)

# Function to add an edge to graph
def addEdge(self, u, v):
self.graph[u].append(v)

# A function used by DFS
def DFSUtil(self, v, visited):

# Mark the current node as visited
# and print it
visited.add(v)
print(v, end=' ')

# Recur for all the vertices
# Adjacent to this vertex
for neighbour in self.graph[v]:
if neighbour not in visited:
self.DFSUtil(neighbour, visited)

# The function to do DFS traversal. It uses
# Recursive DFSUtil()
def DFS(self, v):

# Create a set to store visited vertices
visited = set()

# Call the recursive helper function
# to print DFS traversal
self.DFSUtil(v, visited)

# Driver code


# Create a graph given
# in the above diagram
g = Graph()
g.addEdge(0, 1)
g.addEdge(0, 2)
g.addEdge(1, 2)
g.addEdge(2, 0)
g.addEdge(2, 3)
g.addEdge(3, 3)

print("Following is DFS from (starting from vertex 2)")
g.DFS(2)

0 comments on commit ec6d747

Please sign in to comment.