from collections import deque def bfs(graph, start): queue = deque([start]) visited = set([start]) while queue: vertex = queue.popleft() print(vertex) for neighbor in graph[vertex]: if neighbor not in visited: visited.add(neighbor) queue.append(neighbor) if __name__ == "__main__": graph = { 'A': ['B', 'C'], 'B': ['A', 'D', 'E'], 'C': ['A', 'F'], 'D': ['B'], 'E': ['B', 'F'], 'F': ['C', 'E'] } print("BFS starting from node 'A':") bfs(graph, 'A')