Matemática Discretapara Engenheiros

Estruturas, provas e intuição

EN | PT

Busca em Largura (BFS)

Parte 6 — Árvore BFS & Reconstrução de Caminho

Série: Busca em Largura (BFS) Parte 6 de 8

6. Árvore BFS & Reconstrução de Caminho


Roteiro (o que você aprenderá nesta parte):
  1. Entender o que a BFS produz (vetores π e d)
  2. Definir o subgrafo de predecessores e por que ele é uma árvore
  3. Formalizar a “reconstrução de caminho” a partir dos ponteiros π
  4. Implementar um procedimento de reconstrução (estilo CLRS)
  5. Ver um pequeno exemplo resolvido
  6. Extrair padrões de engenharia (pais, roteamento, breadcrumbs)

A BFS faz mais do que calcular distâncias. Ela produz uma relação de predecessores π que codifica uma árvore BFS enraizada na origem.

Nesta parte, tornamos essa saída explícita e mostramos como reconstruir um caminho mínimo de s até qualquer vértice alcançável v.

6.1 O que a BFS Produz

Após executar BFS a partir de uma origem s, cada vértice v possui:

  • d[v] — distância mínima de s até v
  • π[v] — predecessor de v em um caminho mínimo (ou NIL)
Regra fundamental: Se π[v] = u, então d[v] = d[u] + 1.

6.2 O Subgrafo de Predecessores

Eπ = { (π[v], v) ∣ v ∈ V, v ≠ s, π[v] ≠ NIL }

O grafo T = (V, Eπ) é chamado de subgrafo de predecessores da BFS.

Restrito aos vértices alcançáveis, ele forma uma árvore enraizada em s.

6.3 Por que Isso é uma Árvore

  1. Cada vértice alcançável tem exatamente um predecessor.
  2. As distâncias diminuem estritamente ao seguir predecessores.
Logo, não há ciclos e todos os caminhos levam à raiz.

Próxima: Parte 7 — Aplicações

Agora que entendemos como a BFS constrói uma árvore e reconstrói caminhos mínimos, vamos explorar onde essa estrutura é utilizada na prática. Na Parte 7, analisamos aplicações reais da BFS em redes, grades (grids), grafos de dependência e sistemas de engenharia.