Breadth First Search (BFS)
BreadthFirstSearch (graph G, vertex v):
Queue Q; (initialized empty)
for each vertex w do
Encountered(w) = false; d(w) = infinity;
Encountered(v) = true; d(v) = 0;
Q.Enqueue(v);
while !Q.IsEmptyQueue() do
w := Q.Dequeue()
Visit(w)
for each neighbor w’ of w do
if !Encountered(w’) then
d(w’) = d(w) + 1;
Encountered(w’) := true;
Q.Enqueue w’)
Previous slide
Next slide
Back to first slide
View graphic version