Devora

Breadth-First Search

Explore a graph level by level using a queue.

Controls

Select a start node and run BFS.

Analysis

TimeO(V + E)
SpaceO(V)
Nodes Visited0
Edges Checked0
Order
Visited: Current: Queue:
5831124726438564397234AStartBCDEFGHIJKLMNOP

Current Step

Click Run BFS to start.

Python
from collections import deque

def bfs(graph, start):
    visited = set()
    queue = deque([start])
    order = []

    while queue:
        node = queue.popleft()
        if node in visited:
            continue
        visited.add(node)
        order.append(node)

        for neighbor in graph[node]:
            if neighbor not in visited:
                queue.append(neighbor)

    return order