Algoritmos em Python

Busca em profundidade DFS em Python

DFS usa recursão ou um stack explícito.

O que é Busca em profundidade DFS em Python?

DFS usa recursão ou um stack explícito.

Siga um caminho antes de retroceder.

Quando usar?

  • Entender algoritmos e estruturas de dados.
  • Observar cada etapa e tratar casos de borda.
  • Comparar tempo de execução e memória.

Visualizador de Busca em profundidade DFS em Python

O(V+E)

Use Executar ou Passo para acompanhar cada comparação e movimento dos dados.

Código de exemplo

Executar código →
main.py
graph = {"A": ["B", "C"], "B": ["D"], "C": ["E"], "D": [], "E": []}

def depth_first(node, visited=None):
    visited = visited or set()
    visited.add(node)
    order = [node]
    for neighbor in graph[node]:
        if neighbor not in visited:
            order.extend(depth_first(neighbor, visited))
    return order

print(depth_first("A"))

Saída esperada

['A', 'B', 'D', 'C', 'E']

Como funciona

Cada vértice e aresta é processado no máximo uma vez: O(V+E).

Altere os valores e execute o programa no compilador Python online CodeUtility sem instalar Python.

Exercícios práticos

Altere as entradas e teste casos de borda antes de usar conjuntos de dados maiores.

  1. Teste entrada vazia, um elemento e duplicados.
  2. Mostre o estado após cada etapa.
  3. Compare o desempenho com outra solução.
Executar no IDE Python →