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)

Relacionados