Graphs & Trees

Breadth-First Search

Traverses a graph level by level, useful for finding shortest paths in unweighted graphs.

ABCDEFG

Step 1 of 15

Enqueue start node "A".

Queue

A

Visited

none yet
Algorithm
enqueue s; mark s as visited
while queue not empty:
u ← dequeue()
for each neighbor v of u:
if v not visited:
mark v visited; enqueue v
// BFS complete

Legend

Active
Queued
Visited
1 / 15Speed