BFS explora um grafo nível por nível, visitando todos os vizinhos de um nó antes de ir mais fundo. Usa uma fila e encontra o caminho mais curto (menos arestas) em grafos não ponderados.
A ideia
Comece em uma fonte, enfileire-a, depois repetidamente remova um nó da fila, visite seus vizinhos não visitados e enfileire-os. Um conjunto visited evita revisitas.
