Bnode arvore binaria
254 palavras
2 páginas
public class Bnode { private int valor; private Bnode esq, dir;public Bnode(int v){ valor = v; esq = dir = null; }
public void push(int v){ if(v > valor) if(dir != null) dir.push(v); else dir = new Bnode(v); else if(esq != null) esq.push(v); else esq = new Bnode(v); }
public void showCentral(){ if(esq != null) esq.showCentral(); System.out.println(valor); if(dir != null) dir.showCentral(); }
public int size(){ int se, sd; if(esq != null) se = esq.size(); else se = 0; if(dir != null) sd = dir.size(); else sd = 0; return 1 + se + sd; }
public int soma(){ int se, sd; if(esq != null) se = esq.soma(); else se = 0; if(dir != null) sd = dir.soma(); else sd = 0; return valor + se + sd; }
public void showFolhas(){ if(esq == null && dir == null) System.out.println(valor); else{ if(esq != null) esq.showFolhas(); if(dir != null) dir.showFolhas(); } }
public void showNaoFolhas(){ if(esq != null || dir != null){ System.out.println(valor); if(esq != null) esq.showNaoFolhas(); if(dir != null) dir.showNaoFolhas(); } }
public int max(){ if(dir != null) return dir.max(); else return valor; }
public int min(){ if (esq != null) return esq.min(); else return valor; }
public int altura(){ int aesq, adir; if(esq != null) aesq = esq.altura(); else aesq = 0; if(dir != null) adir = dir.altura(); else adir = 0;
return 1 + Math.max(aesq, adir); }
public void showNivel(int n, int p){ if(n==p)