Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package arbolbb;
- public class ArbolBinB {
- NodoArbol raiz;
- int cant;
- int altura;
- public ArbolBinB(){
- this.raiz=null;
- }
- public void agregarNodo(int dat){
- NodoArbol nuevo = new NodoArbol(dat);
- if (this.raiz==null) {
- this.raiz=nuevo;
- }else{
- NodoArbol aux = this.raiz;
- NodoArbol padre;
- while(true){
- padre=aux;
- if (dat<aux.Dato) {
- aux=aux.HijoIzq;
- if (aux==null) {
- padre.HijoIzq=nuevo;
- return;
- }
- }else{
- aux=aux.HijoDer;
- if (aux==null) {
- padre.HijoDer=nuevo;
- return;
- }
- }
- }
- }
- }
- public boolean estaVacio(){
- return this.raiz==null;
- }
- public void inOrder(NodoArbol r){
- if(r != null){
- inOrder(r.HijoIzq);
- System.out.print(r.Dato+" ");
- inOrder(r.HijoDer);
- }
- }
- public void preOrder(NodoArbol r){
- if(r != null){
- System.out.print(r.Dato+" ");
- preOrder(r.HijoIzq);
- preOrder(r.HijoDer);
- }
- }
- public void posOrder(NodoArbol r){
- if(r != null){
- posOrder(r.HijoIzq);
- posOrder(r.HijoDer);
- System.out.print(r.Dato+" ");
- }
- }
- public void descendente(NodoArbol r){
- if(r != null){
- descendente(r.HijoDer);
- System.out.print(r.Dato+" ");
- descendente(r.HijoIzq);
- }
- }
- public NodoArbol buscarNodo(int dat){
- NodoArbol aux = this.raiz;
- while(aux.Dato != dat){
- if (dat < aux.Dato) {
- aux = aux.HijoIzq;
- }else{
- aux = aux.HijoDer;
- }
- if (aux == null) {
- return null;
- }
- }
- return aux;
- }
- public int numNodos(NodoArbol r){
- if (r == null) {
- return 0;
- }else{
- return 1+ numNodos(r.HijoDer)+numNodos(r.HijoIzq);
- }
- }
- public void cantNodosHoja(NodoArbol r) {
- if (r != null) {
- if (r.HijoIzq == null && r.HijoDer == null) {
- cant++;
- }
- cantNodosHoja(r.HijoIzq);
- cantNodosHoja(r.HijoDer);
- }
- }
- public int cantidadNodosHoja(NodoArbol r) {
- cant=0;
- cantNodosHoja(r);
- return cant;
- }
- private void retornarAltura (NodoArbol r,int nivel) {
- if (r != null) {
- retornarAltura (r.HijoIzq,nivel+1);
- if (nivel>altura)
- altura=nivel;
- retornarAltura (r.HijoDer,nivel+1);
- }
- }
- public int retornarAltura () {
- altura=0;
- retornarAltura (raiz,1);
- return altura;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement