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.

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.

Uma árvore de busca binária com a raiz 8 no topo. À esquerda do 8 está o nó 3; à direita, o nó 10. O nó 3 tem à esquerda o nó 1 e à direita o nó 6, ambos folhas. Setas verdes descem da raiz até o 6, ilustrando o caminho de busca: no 8 vai para a esquerda porque 6 é menor, no 3 vai para a direita porque 6 é maior, e chega ao 6. Rótulos indicam menores à esquerda e maiores à direita.
Uma BST: 8 na raiz, menores à esquerda, maiores à direita. As setas mostram a busca pelo 6 descendo em dois passos.

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
fim

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