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.
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: Percorrer uma árvore: em-ordem, pré-ordem e pós-ordem.
Os objetivos desta aula. 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.
Veja o essencial, parte por parte.
Mais de uma ordem faz sentido. Numa árvore ramificada, há mais de uma ordem sensata de visitar os nós.
O percurso que devolve tudo ordenado. Um resultado bonito une esta aula à anterior.
Cada percurso tem seu uso. Olhe a posição da RAIZ: no meio (em-ordem), no começo (pré-ordem) ou no fim (pós-ordem).
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
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.
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 crescenteEm-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.