LogRitmo client-side / livephase / 02LR / 02 active
vocabulário
registro local

Vocabulário revisado.

sem envio externo

Os termos entram aqui quando você abre uma explicação. O registro fica somente neste navegador, em armazenamento local.

nenhum termo consultado

Abra um tooltip do modo iniciante para começar seu vocabulário.

fase 02 / grafos
02 / grafos

Busca em profundidade (DFS).

Siga um ramo até o fim antes de voltar e tentar outro.

ver A*
visualização passo a passo

Mergulha em profundidade usando uma pilha de decisões.

stage / DFSfronteira / caminho
grafo / 08 nós / 11 arestas 0 1 / sem pesos
42231423241AorigemBBCCDDEEFFGGHalvo
atual visitado caminho origem A → alvo H
telemetria / grafo
passo00grafo carregado — origem pronta
nós visitados00travessia observada
fronteira01próximos candidatos
arestas no caminhosem custo ponderado
playback observado · grafo

Duração que aconteceu.

Execuções concluídas nesta bancada, medidas durante o playback ativo no navegador e salvas apenas neste dispositivo.

média / últimas 0DFS · armazenamento local
sem registros ainda

Execute o algoritmo até o fim para transformar esta bancada em uma série de medições reais.

/ leitura da fronteira

Busca em profundidade (DFS)
explora a rede.

Busca em profundidade (DFS) é uma : visita nós sem usar pesos para decidir o próximo passo. Use para exploração, detecção de ciclos e problemas naturalmente recursivos.

pilha em profundidade
DFS explora um ramo até onde consegue antes de voltar; visitar primeiro não significa ter o menor custo.

melhorO(V + E)
médioO(V + E)
piorO(V + E)

Com lista de adjacência, explora componentes e dependências; a bancada usa um grafo pequeno e uma lista fixa de arestas para tornar cada visita visível.

/ por baixo do palco

Pseudocódigo e
implementação.

A mesma rede pode ser explorada com uma fila, uma pilha ou uma função de custo. Os trechos mostram o núcleo da decisão; funções de apoio, como recuperar a rota ou escolher o menor custo, aparecem com nomes descritivos para manter o foco da explicação.

01coloque a origem na pilha
02retire o topo
03marque como visitado
04empilhe vizinhos ainda não vistos
05repita até esvaziar
/ implementação sincronizada
function dfs(graph, start, goal) {  const stack = [start];  const visited = new Set();  while (stack.length) {    const node = stack.pop();    if (visited.has(node)) continue;    visited.add(node);    if (node === goal) return node;    for (const next of graph[node]) stack.push(next);  }  return null;}