/** * Performs a breadth-first search of this graph from a given starting * vertex. For each vertex that is reachable from the start, this * operation computes its distance from the start and its predecessor * on the search path. * @param start The start vertex */ public void breadthFirstSearch(Vertex start) { DequeAdder tailAdder = new DequeAdder() { public void add(Vertex vertex, Deque<Vertex> deque) { deque.addLast(vertex); } }; search(start, tailAdder); }