From 75a0c26377e388ca2287310f3e259af794ba59ab Mon Sep 17 00:00:00 2001 From: nithinarya2002 <101693361+nithinarya2002@users.noreply.github.com> Date: Tue, 18 Apr 2023 15:06:50 +0530 Subject: [PATCH] Add files via upload --- bfs.py | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 bfs.py diff --git a/bfs.py b/bfs.py new file mode 100644 index 0000000..ca7b780 --- /dev/null +++ b/bfs.py @@ -0,0 +1,44 @@ + +from collections import defaultdict + + +class Graph: + + def __init__(self): + + self.graph = defaultdict(list) + + def addEdge(self, u, v): + self.graph[u].append(v) + + def BFS(self, s): + + visited = [False] * (max(self.graph) + 1) + + queue = [] + + queue.append(s) + visited[s] = True + + while queue: + + s = queue.pop(0) + print(s, end=" ") + + for i in self.graph[s]: + if visited[i] == False: + queue.append(i) + visited[i] = True + + +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 Breadth First Traversal" + " (starting from vertex 2)") +g.BFS(2)