The breadth-first traversal is an algorithm for traversing the
vertices of a graph. The BreadthFirst_GraphTraversal
class provides
an algorithm-object for breadth-first traversal.
The algorithm first pushes all the seed vertices at the back of a queue. As long as there is a vertex at the front of the queue, the algorithm marks , removes from the queue, and then pushes all the unmarked adjacent vertices of at the back of the queue.