Neste projeto, vamos trabalhar com os percursos em árvore binária de busca.
Vamos desenvolver um programa que recebe um percurso do usuário, recebe uma árvore binária com elementos e mostra a lista na ordem solicitada pelo usuário.
Para isso, vamos montar um menu de opções, serão três opções:
Observando a imagem seguinte da árvore binária:

Vamos desenvolver um módulo para cada percurso e apresentar o percurso de acordo com a opção selecionada pelo usuário.
Realizando o percurso da árvore da imagem anterior, temos:
Desenvolva um algoritmo que recebe do usuário cinco números inteiros numa pilha com capacidade para cinco números e os mostra.
public void emOrdem (No ABB){
if (ABB != nulo){
emOrdem(ABB.esquerda);
visita(ABB);
emOrdem(ABB.direita);
}
}
public void preOrdem (No ABB){
if (ABB != nulo){
visita(ABB);
preOrdem(ABB.esquerda);
preOrdem(ABB.direita);
}
}
public void posOrdem (No ABB){
if (ABB != nulo){
posOrdem(ABB.esquerda);
posOrdem(ABB.direita);
visita(ABB);
}
}
Para que cada um dos métodos de percurso pré-ordem, pós-ordem e em ordem em uma árvore binária possa ser executado, temos que realizar sua chamada adequada em um método principal, no caso do Java, no void main.
Vamos observar o método main com a escolha da opção e a chamada de cada percurso.