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:
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