Módulo 5 - Árvores: hierarquia, busca e percursos
Árvore de busca binária: menores à esquerda, maiores à direita
9 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 12/07/2026
O que você vai aprender
- Entender a regra da BST: menores à esquerda, maiores à direita de cada nó.
- Buscar um valor descendo pela árvore com comparações.
- Perceber por que a busca corta o problema pela metade a cada passo.
- Reconhecer que a rapidez da BST depende de ela estar equilibrada.
Ouvir o resumo desta aula
Um recap de cerca de 2 minutos na voz do Valim, para ouvir no trânsito ou na academia.
Ler a transcrição do resumo
Resumo da aula: Árvore de busca binária: menores à esquerda, maiores à direita.
Os objetivos desta aula. Entender a regra da BST: menores à esquerda, maiores à direita de cada nó. Buscar um valor descendo pela árvore com comparações. Perceber por que a busca corta o problema pela metade a cada passo. Reconhecer que a rapidez da BST depende de ela estar equilibrada.
Veja o essencial, parte por parte.
A regra que coloca ordem na árvore. Na BST, para cada nó: menores vão à esquerda, maiores vão à direita.
Buscar descendo uma pergunta por vez. Achar um valor na BST é uma conversa curta com a árvore.
A mágica só vale se a árvore estiver equilibrada. BST equilibrada: caminho curto da raiz às folhas, busca rápida (corta pela metade).
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
A regra que coloca ordem na árvore
A árvore binária, sozinha, é só uma forma. A árvore de busca binária acrescenta uma regra que a torna poderosa: em cada nó, tudo o que for menor que ele fica na subárvore da esquerda, e tudo o que for maior fica na da direita. Essa regra vale para todo nó, não só para a raiz. Com ela, a árvore fica ordenada de um jeito especial: não numa fila reta, mas espalhada de forma que a posição de cada valor conta uma história sobre seu tamanho relativo. Um número lá no fundo à esquerda é dos menores; um lá no fundo à direita é dos maiores. É essa organização silenciosa que faz a busca voar.
Vamos montar uma BST pequena para acompanhar. Comece com a raiz 8. Chega o 3: como 3 é menor que 8, vai para a esquerda. Chega o 10: maior que 8, vai para a direita. Chega o 1: menor que 8 (vai à esquerda), depois menor que 3 (vai à esquerda de novo), e vira folha. Chega o 6: menor que 8 (esquerda), maior que 3 (direita), e vira folha. No fim, a raiz 8 tem o 3 à esquerda e o 10 à direita; o 3 tem o 1 à esquerda e o 6 à direita. Repare que cada inserção foi uma sequência de comparações, sempre descendo para um lado só. Essa mesma árvore vai reaparecer no jogo desta aula.
Buscar descendo uma pergunta por vez
Achar um valor na BST é uma conversa curta com a árvore. Comece na raiz e faça uma pergunta: o valor que procuro é igual, menor ou maior que este nó? Se for igual, achou. Se for menor, o valor só pode estar à esquerda, então desça para o filho esquerdo e ignore todo o lado direito. Se for maior, desça para a direita e ignore o esquerdo. Repita no novo nó. Cada passo descarta um ramo inteiro da árvore, e é aí que mora a velocidade: você nunca olha o lado que não pode conter o valor. Se a busca chega a um lugar vazio (nulo) sem achar, o valor não está na árvore. Essa é a mesma lógica da busca binária numa lista ordenada, mas agora embutida na estrutura.
funcao buscar(no, alvo)
se no e nulo então
retorne "não encontrado"
fim
se alvo = no.valor então
retorne "encontrado"
senão se alvo < no.valor então
retorne buscar(no.esquerdo, alvo) // desce à esquerda
senão
retorne buscar(no.direito, alvo) // desce à direita
fim
fimA busca compara com o nó e desce para um lado só. Cada comparação elimina um ramo inteiro da árvore.
🎮 Jogo da aula
Quantos passos até achar?
Use a BST desenhada acima (raiz 8; à esquerda 3 com filhos 1 e 6; à direita 10). O programa conta os passos da busca. Descubra o resultado.
// BST: 8 na raiz
// 8
// / \
// 3 10
// / \
// 1 6
// buscar o valor 6, contando comparações:
passos <- 0
// no 8: 6 < 8, desce à esquerda (passos = 1)
// no 3: 6 > 3, desce à direita (passos = 2)
// no 6: 6 = 6, achou (passos = 3)
escreva(passos)A mágica só vale se a árvore estiver equilibrada
Há um porém importante. A busca rápida da BST depende de ela estar equilibrada, ou seja, rasa e bem distribuída. Numa árvore equilibrada com mil valores, achar qualquer um leva cerca de dez passos, porque cada comparação corta o conjunto pela metade. Mas se os valores forem inseridos já em ordem crescente (1, 2, 3, 4...), cada um vira o filho direito do anterior, e a árvore degenera numa linha reta, uma lista disfarçada. Aí a busca volta a ser lenta, passo a passo, sem cortar nada. Por isso existem versões que se reequilibram sozinhas a cada inserção, mantendo a árvore rasa. A ideia central para levar desta aula é: a ordenação por lados dá o potencial de busca rápida, e o equilíbrio é o que garante que esse potencial se realize.
Teste rápido
Na busca por um valor menor que o nó atual de uma BST, para onde a busca desce?
Perguntas frequentes
- Qual a diferença entre árvore binária e árvore de busca binária?
- A árvore binária só limita cada nó a dois filhos; os valores podem estar em qualquer posição. A árvore de busca binária acrescenta uma regra de ordem: em cada nó, menores à esquerda e maiores à direita. É essa regra que permite buscar por comparações, descendo para um lado só. Toda BST é binária, mas nem toda árvore binária é uma BST.
- Por que a BST é comparada com a busca binária numa lista?
- Porque as duas cortam o problema pela metade a cada passo. Na lista ordenada, você olha o meio e descarta metade. Na BST, você compara com o nó e descarta um ramo inteiro. A diferença é que a BST facilita inserir e remover valores sem reorganizar tudo, enquanto na lista ordenada inserir no meio é caro.
- O que acontece se eu inserir os valores já em ordem?
- A árvore degenera. Inserindo 1, 2, 3, 4 em ordem crescente, cada novo valor é maior que todos os anteriores e vira o filho direito do último, formando uma linha reta que desce só para a direita. A árvore vira uma lista disfarçada e a busca perde a vantagem, ficando lenta. É por isso que o equilíbrio importa tanto.
- Como sei se um valor não está na árvore?
- A busca continua descendo por comparações até chegar a uma ligação vazia (nula), ou seja, um lugar onde o valor deveria estar mas não há nó. Quando a busca cai nesse vazio sem ter encontrado o alvo, a conclusão é que o valor não está na árvore. Não é preciso olhar o resto; o próprio caminho de comparações já garante isso.
- O que é uma árvore que se reequilibra sozinha?
- É uma BST que, a cada inserção ou remoção, faz pequenos ajustes na estrutura para se manter rasa e bem distribuída, evitando degenerar numa linha reta. Existem vários tipos com esse comportamento. Você não precisa dos detalhes agora; o importante é saber que eles existem para garantir que a busca continue rápida mesmo com dados inseridos em qualquer ordem.
- A BST serve só para números?
- Não. Serve para qualquer dado que se possa ordenar: números, palavras (ordem alfabética), datas. A regra menores à esquerda, maiores à direita vale desde que exista um critério de comparação entre os valores. Por isso a BST aparece em dicionários ordenados, listas de contatos e índices que precisam manter os dados organizados e buscáveis.
Fontes
Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.