From c2b7cdf2607366de04d8bb56c5fd918262609e80 Mon Sep 17 00:00:00 2001 From: Mohd Rashid Ansari <92138079+rashid2002@users.noreply.github.com> Date: Sun, 10 Nov 2024 03:26:07 +0530 Subject: [PATCH] Create Breadth-First Search (BFS) algorithm --- Python/Breadth-First Search (BFS) algorithm | 28 +++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 Python/Breadth-First Search (BFS) algorithm diff --git a/Python/Breadth-First Search (BFS) algorithm b/Python/Breadth-First Search (BFS) algorithm new file mode 100644 index 000000000..b20480ebd --- /dev/null +++ b/Python/Breadth-First Search (BFS) algorithm @@ -0,0 +1,28 @@ +from collections import deque + +def bfs(graph, start): + visited = set() + queue = deque([start]) + visited.add(start) + result = [] + + while queue: + node = queue.popleft() + result.append(node) + for neighbor in graph[node]: + if neighbor not in visited: + visited.add(neighbor) + queue.append(neighbor) + + return result + +graph = { + 'A': ['B', 'C'], + 'B': ['A', 'D', 'E'], + 'C': ['A', 'F'], + 'D': ['B'], + 'E': ['B', 'F'], + 'F': ['C', 'E'] +} + +print(bfs(graph, 'A'))