BFS of graph Python
- Get link
- X
- Other Apps
PROGRAM TO ILLUSTRATE BFS FOR A GRAPH
from collections import defaultdict# This class represents a directed graph# using adjacency list representationclass 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) # Function to print a BFS of graph def BFS(self, s): # Mark all the vertices as not visited visited = [False] * (max(self.graph) + 1) # Create a queue for BFS queue = [] # Mark the source node as # visited and enqueue it queue.append(s) visited[s] = True while queue: # Dequeue a vertex from # queue and print it s = queue.pop(0) print (s, end = " ") # Get all adjacent vertices of the # dequeued vertex s. If a adjacent # has not been visited, then mark it # visited and enqueue it for i in self.graph[s]: if visited[i] == False: queue.append(i) visited[i] = True# Driver code# Create a graph given in# the above diagramg = 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 Breadth First Traversal" " (starting from vertex 2)")g.BFS(2)
OUTPUT:
Following is Breadth First Traversal (starting from vertex 2) 2 0 3 1
- Get link
- X
- Other Apps
Comments
Post a Comment