Codigo arboles

 public class Arbol {

private Nodo raiz;

        private String cad="";

        private int cont=0;

        

public Arbol(String dato) {

raiz=new Nodo(dato);

raiz.setIzquierda(null);

raiz.setDerecha(null);

}

public void insertarIzquierda(String dato, Nodo ref) {

if(ref!=null) {

Nodo nuevo=new Nodo(dato);

ref.setIzquierda(nuevo);

}

}

public void insertarDerecha(String dato, Nodo ref) {

if(ref!=null) {

Nodo nuevo=new Nodo(dato);

ref.setDerecha(nuevo);

}

}

public String preOrden(Nodo ref) {

if(ref!=null) {

                        if(ref==raiz){

                            cad="";

                        }

                      cad=cad+" "+ref.getDato(); 

                        preOrden(ref.getIzquierda());

preOrden(ref.getDerecha());

}

                 return cad; 

}

public String inOrden(Nodo ref) {

if(ref!=null) {

                        if(ref==raiz){

                            cad="";

                        }

inOrden(ref.getIzquierda());

cad=cad+" "+ref.getDato(); 

                        inOrden(ref.getDerecha());

}

            return cad; 

}

public String posOrden(Nodo ref) {

if(ref!=null) {

if(ref==raiz){

                            cad="";

                        }

                        posOrden(ref.getIzquierda());

posOrden(ref.getDerecha());

cad=cad+" "+ref.getDato(); 

}

                 return cad; 

}

         

        public String invPreOrden(Nodo ref) {

if(ref!=null) {

                        if(ref==raiz){

                            cad="";

                        }

                      cad=cad+" "+ref.getDato(); 

                        invPreOrden(ref.getDerecha());

                        invPreOrden(ref.getIzquierda());

}

                 return cad; 

}

        

        public String invInOrden(Nodo ref) {

if(ref!=null) {

                        if(ref==raiz){

                            cad="";

                        }

invInOrden(ref.getDerecha());

cad=cad+" "+ref.getDato(); 

                        invInOrden(ref.getIzquierda());

}

            return cad; 

}

        

        public String invPosOrden(Nodo ref) {

if(ref!=null) {

if(ref==raiz){

                            cad="";

                        }

invPosOrden(ref.getDerecha());

                        invPosOrden(ref.getIzquierda());

cad=cad+" "+ref.getDato(); 

}

                 return cad; 

}

        

        public String grado(Nodo ref) {

if(ref!=null) {

                        if(ref==raiz){

                            cad="";

                        }

                        int cont=0;

                        if(ref.getDerecha()!=null){

                            cont++;

                        }

                        if(ref.getIzquierda()!=null){

                            cont++;

                        }

                      cad=cad+"Nodo: "+ref.getDato()+"\nGrado: "+cont+"\n=====================\n"; 

                        grado(ref.getIzquierda());

grado(ref.getDerecha());

}

                 return cad; 

}

        

        public String peso(Nodo ref) {

if(ref!=null) {

                    if(ref==raiz){

                        cad="";

                    }

                    peso(ref.getIzquierda());

                    peso(ref.getDerecha());

                    

                    cont=pesoAux(ref);

                    cad=cad+"Nodo: "+ref.getDato()+"\nPeso: "+cont+"\n=====================\n";

                    cont=0;

}

                return cad; 

        }

        public int pesoAux(Nodo ref){

            

            if(ref!=null){

                

                pesoAux(ref.getIzquierda());

                pesoAux(ref.getDerecha());

            

                if(ref.getDerecha()!=null){

                    cont++;

                }

                if(ref.getIzquierda()!=null){

                    cont++;

                }

            }

            return cont;

        }

 

public Nodo getRaiz() {

return raiz; 

}

}







Comentarios

Entradas más populares de este blog

Fractal

Registros de Emu8086

Pila semántica en un analizador sintáctico