Grafos, DFS e BFS

Representações, florestas de pesquisa e caminhos mínimos em grafos sem pesos.

TLDR

Perguntar sobre esta página

ChatGPTClaudePerplexityGrokGeminiCopiar e abrirDeepSeekCopiar e abrir

Representa pelo uso

G=(V,E)G=(V,E) com vértices e ligações. Dirigido distingue u->v de v->u. Simples proíbe laços e paralelas.

Precisas deEscolhe
Teste de aresta O(1)O(1) e grafo densoMatriz Θ(V2)\Theta(V^2)
Percurso linear em grafo esparsoListas Θ(V+E)\Theta(V+E)
Enumerar vizinhos de uListas em Θ(deg⁡)\Theta(\deg)

Não dirigido guarda cada aresta duas vezes. Soma dos graus vale 2∣E∣2|E|. Árvore com n tem n-1 arestas.

DFS marca cedo

Marca na descoberta, antes de explorar. Visita os alcançáveis da origem. Repete em cada por visitar para cobrir componentes.

  • Pilha de chamadas guarda o caminho suspenso. Pode chegar a O(V)O(V).
  • Ordem depende de origem e vizinhos. Iterativa simples pode divergir da recursiva.

BFS dá distâncias

  1. Origem com distância zero na fila.
  2. Retira u; vizinho novo recebe dist+1 e entra na fila.
  3. Marca ao inserir, não ao retirar.

A fila sai por distâncias crescentes, logo a primeira chegada é mínima em arestas. Pesos diferentes pedem outro algoritmo.

Com origem 0, camadas {0}, {1,2}, {3}, {4} e distâncias [0,1,1,2,3,ausente]. Custa O(V+E)O(V+E) com auxiliar O(V)O(V).

Contagens e cores

  • Arestas de componente: soma graus dos visitados e divide por dois.
  • Até distância d: BFS sem expandir a camada d, origem excluída. Reinicia estados entre chamadas.
  • Bipartido: colore por camadas em todas as componentes. Aresta igual revela ciclo ímpar.

Traços completos.

À tua maneira

Aparência

Modo de cor
Tema
Cor de destaque

Leitura

Fonte de leitura

Álgebra, lógica e uma ideia de cada vez.

Código

Fonte do código

Navegação

Cursor de leitura, sem edição. h, j, k, l movem; / pesquisa nesta página. v seleciona caracteres; V seleciona linhas; y copia. Tab permite destacar ou comentar. Espaço ou Enter abre blocos recolhíveis. Nos cartões, h, j, k, l mudam o foco.

CSS personalizado

Ativa uma sugestão ou guarda o teu CSS. Só muda este navegador.

Usa --page, --text e --accent para acompanhar o tema.

Seletores e recuperação

.site-header, .prose, .course-card, [data-reading-history], [data-playground] e .page-actions.

Abre a aparência com a tecla vírgula ou no rodapé. Se o CSS esconder os controlos, abre esta página sem CSS personalizado.

Pesquisar

Escreve para pesquisar em todo o site.

para escolher · Enter para abrir · Esc para fechar

Copiar fórmula

A cópia automática não está disponível. Copia o LaTeX abaixo.

Pesquisar nesta página

Enter procura · n / N repetem · Esc cancela. Ctrl / Cmd K pesquisa todo o site.

Atalhos de teclado

Clica numa tecla para a mudar. Esc cancela. Backspace desativa.

PesquisarCtrl / Cmd K

Os atalhos não interferem enquanto escreves. Tab e Enter funcionam sempre.