bfs

from collections import deque

def bfs(graph, start):

    visited = set()

    queue = deque([start])

    

    while queue:

        vertex = queue.popleft()

        if vertex not in visited:

            print(vertex, end=” “)

            visited.add(vertex)

            queue.extend(neighbor for neighbor in graph[vertex] if neighbor not in visited)

def main():

    graph = {}

    

    

    num_edges = int(input(“Enter the number of edges: “))

    

    print(“Enter the edges (format: node1 node2):”)

    for _ in range(num_edges):

        edge = input().strip().split()

        node1, node2 = edge[0], edge[1]

        

        if node1 not in graph:

            graph[node1] = []

        if node2 not in graph:

            graph[node2] = []

        

        graph[node1].append(node2)

        graph[node2].append(node1)  # Assuming it’s an undirected graph

    

    start_node = input(“Enter the starting node for BFS: “)

    

    print(“BFS traversal starting from node:”, start_node)

    bfs(graph, start_node)

if __name__ == “__main__”:

    main()

Scroll to Top