0% found this document useful (0 votes)
5 views2 pages

Exp 3 Ai

The document presents a Python program that implements Depth First Search (DFS) for a directed graph using an adjacency list representation. It defines a Graph class with methods to add edges and perform DFS traversal. The program includes a driver code that creates a graph and initiates a DFS starting from vertex 2.

Uploaded by

santoshallu1234
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views2 pages

Exp 3 Ai

The document presents a Python program that implements Depth First Search (DFS) for a directed graph using an adjacency list representation. It defines a Graph class with methods to add edges and perform DFS traversal. The program includes a driver code that creates a graph and initiates a DFS starting from vertex 2.

Uploaded by

santoshallu1234
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Exp 3

Aim : program to implement DFS using python

Code :

from collections import defaultdict

# This class represents a directed graph using

# adjacency list representation

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()

# to print DFS traversal

self.DFSUtil(v, visited)

# Driver's code

if __name__ == "__main__":

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 Depth First Traversal (starting from vertex 2)")

g.DFS(2)

Terminal –

Following is Depth First Traversal (starting from vertex 2)

2013

You might also like