Módulo 5 - Árvores: hierarquia, busca e percursos

Percorrer uma árvore: em-ordem, pré-ordem e pós-ordem

9 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 12/07/2026

O que você vai aprender

  • Entender por que uma árvore admite mais de uma ordem de percurso.
  • Distinguir em-ordem, pré-ordem e pós-ordem pela posição da raiz.
  • Saber que o em-ordem de uma BST devolve os valores ordenados.
  • Associar cada percurso a um uso prático.

Mais de uma ordem faz sentido

Percorrer uma lista não tem mistério: você anda do primeiro ao último e pronto. A árvore complica de um jeito interessante. Ao chegar num nó, você tem que decidir a ordem entre três coisas: visitar o próprio nó, mergulhar no ramo esquerdo e mergulhar no ramo direito. Não existe uma única ordem certa; existem escolhas, e cada escolha tem um nome e um uso. Os três percursos clássicos por profundidade combinam sempre esquerda antes de direita, mas mudam a posição do nó atual (a raiz do momento): ele pode ser visitado no meio, antes ou depois dos filhos. Só isso muda de um percurso para o outro, e essa pequena diferença gera resultados bem distintos.

Os nomes dizem tudo, se você prestar atenção à palavra ordem em cada um. Em-ordem: visita o esquerdo, depois a raiz (no meio), depois o direito. Pré-ordem: a raiz vem antes (pré) de tudo, depois esquerdo e direito. Pós-ordem: a raiz vem depois (pós) de tudo, primeiro esquerdo e direito, a raiz por último. O jeitinho de decorar é olhar onde a raiz aparece: no meio (em-ordem), no começo (pré) ou no fim (pós). Os filhos são sempre visitados esquerda antes de direita, então o que dança é apenas a raiz.

Uma mesma árvore binária pequena, com raiz 8, filho esquerdo 3 e filho direito 10, repetida três vezes lado a lado. Sob cada cópia, uma sequência numerada mostra a ordem de visita: em-ordem lista 3, 8, 10; pré-ordem lista 8, 3, 10; pós-ordem lista 3, 10, 8. Um rótulo em cada cópia destaca a posição da raiz 8: no meio, no começo e no fim.
Três percursos da mesma árvore. Muda só quando a raiz é visitada: no meio (em-ordem), no começo (pré) ou no fim (pós).

O percurso que devolve tudo ordenado

Um resultado bonito une esta aula à anterior. Se você fizer o percurso em-ordem numa árvore de busca binária, os valores saem em ordem crescente, do menor ao maior, de graça. O motivo é a regra da BST: como o lado esquerdo guarda os menores, visitá-lo antes da raiz garante que os menores venham primeiro; e como a direita guarda os maiores, deixá-la por último garante que os maiores venham no fim. Pegue a BST da aula passada (raiz 8, com 3 à esquerda tendo filhos 1 e 6, e 10 à direita). O em-ordem visita nesta sequência: 1, 3, 6, 8, 10. Ordenada, sem nenhum esforço extra de ordenação. É um dos motivos de a BST ser tão valorizada: ela mantém os dados prontos para sair em ordem a qualquer momento.

funcao emOrdem(no)
  se no e nulo então
    retorne
  fim
  emOrdem(no.esquerdo)   // 1º: mergulha à esquerda
  escreva(no.valor)       // 2º: visita a raiz (no meio)
  emOrdem(no.direito)    // 3º: mergulha à direita
fim
// numa BST, isto imprime os valores em ordem crescente

Em-ordem: esquerdo, raiz, direito. A recursão desce cada ramo; a raiz é impressa no meio. Numa BST, sai ordenado.

🎮 Jogo da aula

Monte o percurso pré-ordem

Para a árvore com raiz 8, filho esquerdo 3 (com filhos 1 e 6) e filho direito 10, coloque as etapas do percurso PRÉ-ORDEM na sequência correta. Lembre: raiz primeiro, depois esquerdo, depois direito.

    Cada percurso tem seu uso

    Os três percursos não são só curiosidade acadêmica; cada um resolve um problema. O em-ordem, como vimos, lista os valores de uma BST em ordem, perfeito para imprimir dados ordenados ou gerar um relatório crescente. O pré-ordem visita a raiz antes dos filhos, o que é ideal para copiar ou salvar uma árvore: você grava o pai antes dos filhos, então na hora de reconstruir já tem onde pendurá-los. O pós-ordem visita a raiz por último, útil quando você precisa cuidar dos filhos antes do pai, como ao apagar uma árvore (libera os galhos antes de cortar o tronco) ou ao calcular o tamanho de pastas somando o conteúdo antes de fechar a pasta que as contém. Escolher o percurso é escolher a ordem que o seu problema pede.

    Teste rápido

    Qual percurso, aplicado a uma árvore de busca binária, devolve os valores em ordem crescente?

    Perguntas frequentes

    Por que uma árvore tem mais de uma forma de ser percorrida?
    Porque ela se ramifica. Ao chegar num nó, você precisa decidir a ordem entre visitar o próprio nó, o ramo esquerdo e o ramo direito. Numa lista, só existe frente e trás; numa árvore, há mais de uma sequência sensata. Os três percursos clássicos combinam sempre esquerda antes de direita, variando só quando a raiz é visitada.
    Qual a diferença prática entre em-ordem, pré-ordem e pós-ordem?
    Muda só a posição da raiz na visita. Em-ordem visita a raiz no meio (esquerdo, raiz, direito). Pré-ordem visita a raiz primeiro (raiz, esquerdo, direito). Pós-ordem visita a raiz por último (esquerdo, direito, raiz). Os filhos são sempre esquerda antes de direita. Cada ordem serve a um uso: listar em ordem, copiar a árvore ou apagá-la.
    Por que o em-ordem de uma BST sai ordenado?
    Por causa da regra da BST: menores à esquerda, maiores à direita. Ao visitar o lado esquerdo antes da raiz, os menores saem primeiro; ao deixar a direita por último, os maiores saem no fim. Repetindo isso em cada nó, o resultado global é a lista crescente. É um efeito direto de combinar a regra da BST com a ordem do em-ordem.
    Para que serve o pós-ordem?
    Para quando os filhos precisam ser tratados antes do pai. Um exemplo é apagar uma árvore: você libera as subárvores esquerda e direita antes de remover a raiz, senão perderia o acesso aos filhos. Outro é somar o tamanho de pastas: soma-se o conteúdo das subpastas antes de fechar a pasta que as contém. Sempre que a conta do pai depende dos filhos, o pós-ordem encaixa.
    Esses percursos usam recursão?
    A forma mais natural é recursiva: para percorrer um nó, você chama o mesmo percurso nos filhos e visita a raiz na posição certa. É a recursão que você viu no curso, com o caso base sendo o nó vazio (nulo). Dá para fazer sem recursão, usando uma pilha explícita, mas a versão recursiva costuma ser a mais clara para aprender e ler.
    Existe um percurso que visita por níveis, e não por profundidade?
    Sim, é o percurso por largura (ou por nível), que visita a raiz, depois todos os nós do segundo nível, depois os do terceiro, e assim por diante. Ele não é feito por recursão, e sim com uma fila. Esse percurso se relaciona com a busca em largura, que você estuda no módulo de percursos em grafos, onde a fila reaparece com o mesmo papel.

    Fontes

    Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.