Árvores binárias e percursos

Altura, profundidade, recursão estrutural e ordens de visita.

TLDR

Perguntar sobre esta página

ChatGPTClaudePerplexityGrokGeminiCopiar e abrirDeepSeekCopiar e abrir

Vocabulário mínimo

Uma árvore binária está vazia ou tem uma raiz com subárvore esquerda e direita. A posição de cada nó importa; a ordem dos valores não faz parte da definição.

  • A profundidade conta as arestas desde a raiz. A altura conta o maior caminho até uma folha: a árvore vazia tem altura -1 e uma folha tem altura 0.
  • Uma árvore completa tem todos os níveis cheios exceto possivelmente o último, que fica preenchido da esquerda para a direita. Uma árvore perfeita tem todos os níveis cheios. Uma árvore estrita dá zero ou dois filhos a cada nó.
  • Com n nós, a altura fica entre ⌈log⁡2(n+1)⌉−1\lceil\log_2(n+1)\rceil-1 e n−1n-1.

Percursos que interessam

Para um nó com alturas h_e e h_d e tamanhos t_e e t_d nas subárvores esquerda e direita:

altura⁡=1+max⁡(he,hd),tamanho⁡=1+te+td.\operatorname{altura}=1+\max(h_e,h_d),\qquad \operatorname{tamanho}=1+t_e+t_d.

A árvore vazia tem tamanho 0. Cada percurso visita cada nó uma vez, logo custa Θ(n)\Theta(n), com pilha O(h+1)O(h+1).

OrdemRegraSequência na figura
PréRaiz, esquerda, direita8 4 2 6 10 9
EmEsquerda, raiz, direita2 4 6 8 9 10
PósEsquerda, direita, raiz2 6 4 9 10 8
NíveisPor níveis, da esquerda à direita8 4 10 2 6 9

Pós-ordem calcula nos filhos antes do pai. Em-ordem só ordena numa BST.

Propriedades e reconstrução

  • Dois filhos: soma recursiva mais um quando ambas as ligações existem.
  • Perfeita pede subárvores perfeitas de igual altura. Verifica altura e forma juntas para ficar linear.
  • Pré mais em com valores distintos dá a árvore: raiz é o primeiro da pré; a sua posição na em separa lados. Pré sozinha é ambígua.

Detalhes e programas.

À 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.