/* * Á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