Pular para o conteudo principal

DFS

O que DFS significa, quando explorar um caminho até o fundo faz mais sentido e por que recursão aparece tanto junto.

Andrews Ribeiro

Andrews Ribeiro

Founder & Engineer

O que é

DFS significa depth-first search.

É um jeito de percorrer indo fundo em um caminho antes de voltar para tentar outro.

Quando usar

Ela costuma aparecer quando você quer:

  • explorar componente
  • fazer backtracking
  • percorrer árvore ou grafo com pilha implícita ou explícita

Recursão aparece muito aqui porque o padrão de “entra, aprofunda, volta” encaixa naturalmente.

Erro comum

O erro clássico é decorar DFS só como recursão.

Recursão é uma forma comum de implementar.

A ideia central é a ordem de exploração, não a sintaxe.

Pergunta melhor

Antes de aplicar, vale perguntar:

  1. eu ganho algo explorando um caminho até o fim antes de voltar?
  2. estou enumerando possibilidades?
  3. uma stack descreve melhor esse fluxo?

Continue explorando