/*
* Árvore binária simples com os três métodos de caminhamento:
* Pré-Fixado
* Central
* Pós-Fixado
*
* Autor: Everton Agilar
* Data: 12/08/2010
*
*/
package aula.arvore;
public class Arvore {
int valor;
Arvore esq;
Arvore dir;
public Arvore(int valor){
this.valor = valor;
this.esq = null;
this.dir = null;
}
public void add(Arvore no){
if (no.valor < this.valor){
if (esq == null){
esq = no;
}else {
esq.add(no);
}
}
else {
if (no.valor > this.valor){
if (dir == null){
dir = no;
}
else {
dir.add(no);
}
}
}
}
public void caminhamentoPreFixado(){
System.out.printf("%d%n", valor); // a raiz é acessada por primeiro
if (esq != null)
esq.caminhamentoPreFixado();
if (dir != null)
dir.caminhamentoPreFixado();
}
public void caminhamentoCentral(){
if (esq != null)
esq.caminhamentoCentral();
System.out.printf("%d%n", valor); // a raiz é acessada no meio
if (dir != null)
dir.caminhamentoCentral();
}
public void caminhamentoPosFixado(){
if (esq != null)
esq.caminhamentoPosFixado();
if (dir != null)
dir.caminhamentoPosFixado();
System.out.printf("%d%n", valor); // a raiz é a última acessada
}
public static void main(String[] args) {
System.out.println("Demonstração de formas de caminhamento em árvore binária\n");
Arvore arv = new Arvore(10);
arv.add(new Arvore(8));
arv.add(new Arvore(12));
arv.add(new Arvore(4));
arv.add(new Arvore(14));
arv.add(new Arvore(2));
arv.add(new Arvore(1));
System.out.println("Caminhamento Pré-Fixado:");
arv.caminhamentoPreFixado();
System.out.println("\nCaminhamento In-Fixado ou Central:");
arv.caminhamentoCentral();
System.out.println("\nCaminhamento Pós-Fixado:");
arv.caminhamentoPosFixado();
}
}
Pesquisar este blog
quinta-feira, 12 de agosto de 2010
Arvore binária simples com os três métodos de caminhamento
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário