(Latest Revision: Mon Apr 22 00:19:53 PST 2008 )
ALGORITHM FOR A BREADTH-FIRST TRAVERSAL /* Traverse a graph, starting at vertex v. */ bfs (in v:Vertex) { q.createQueue() ; /* mark v and add it to the queue. */ mark v as visited ; q.enqueue(v) while ( !q.isEmpty() ) { q.dequeue(w) /* Loop invariant: there is a path from vertex w to every vertex in the queue q */ for (each unvisited vertex u adjacent to w) { mark u as visited q.enqueue(u) } /* end for */ } /* end while */ } /* end bfs */