From b453fe551a188d1f66f4c3f8ef3ae01a10f1c80e Mon Sep 17 00:00:00 2001 From: Naveen Kumar Chitturi <55271508+Naveen963@users.noreply.github.com> Date: Fri, 2 Oct 2020 18:25:12 +0530 Subject: [PATCH] Breadth first search Bfs algorithm in Python --- Breadth First search | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 Breadth First search diff --git a/Breadth First search b/Breadth First search new file mode 100644 index 0000000..7fa0e11 --- /dev/null +++ b/Breadth First search @@ -0,0 +1,26 @@ +import collections + +# BFS algorithm +def bfs(graph, root): + + visited, queue = set(), collections.deque([root]) + visited.add(root) + + while queue: + + # Dequeue a vertex from queue + vertex = queue.popleft() + print(str(vertex) + " ", end="") + + # If not visited, mark it as visited, and + # enqueue it + for neighbour in graph[vertex]: + if neighbour not in visited: + visited.add(neighbour) + queue.append(neighbour) + + +if __name__ == '__main__': + graph = {0: [1, 2], 1: [2], 2: [3], 3: [1, 2]} + print("Following is Breadth First Traversal: ") + bfs(graph, 0)