protected Nodo buscar(Nodo raizSub, Comparador buscado)
 {
     if (raizSub == null)
     {
         return(null);
     }
     else if (buscado.igualQue(raizSub.valorNodo()))
     {
         return(raizSub);
     }
     else if (buscado.menorQue(raizSub.valorNodo()))
     {
         return(buscar(raizSub.subarbolIzdo(), buscado));
     }
     else
     {
         return(buscar(raizSub.subarbolDcho(), buscado));
     }
 }
 protected Nodo localizar(Nodo raizSub, Comparador buscado)
 {
     if (raizSub == null)
     {
         return(null);
     }
     else if (buscado.igualQue(raizSub.valorNodo()))
     {
         return(raiz);
     }
     else if (buscado.menorQue(raizSub.valorNodo()))
     {
         return(localizar(raizSub.subarbolIzquierdo(), buscado));
     }
     else
     {
         return(localizar(raizSub.subarbolDerecho(), buscado));
     }
 }
 //PARTE DE LOCALIZAR
 //COMO PARAMETRO NODO
 //COMPARADOR PARA HACER LA ITERACION
 //LOCALIZAR LO QUE HACE ES A QUE NODO Y DE QUE LADO SE VA A IR
 protected Nodo localizar(Nodo raizSub, Comparador buscado) //CREADO COMO UN TIPO DE ACCESIVIDAD PROTEGIDO
 {
     if (raizSub == null)                                   //SI LA RAIZ ES NULA
     {
         return(null);
     }
     else if (buscado.igualQue(raizSub.valorNodo())) //BUSQUEDA RECURSIVA PROPIA ENTRE TODO EL ARBOL
     {
         return(raiz);                               //SI ES IGUAL NOS VA A RETORNAR LA RAIZ
     }
     else if (buscado.menorQue(raizSub.valorNodo()))
     {
         return(localizar(raizSub.subarbolIzquierdo(), buscado)); //ME VA A DEVOLVER ES LOCALIZAR EL NODO DE DONDE SE ENCUETRA Y YA SABEMOS SI LO VAMOS A DIRECCIONAR A LA  IZQUIERA
     }
     else
     {
         return(localizar(raizSub.subarbolDerecho(), buscado)); //SI NO ENVIARLE EL DERECHO
     }
 }
Example #4
0
        public Nodo getNodo(Object n, Comparador cmp)
        {
            Nodo raizTmp = tree.raizArbol();

            if (tree.esVacio())
            {
                return(null);
            }
            while (raizTmp.subarbolDcho() != null || raizTmp.subarbolIzdo() != null)
            {
                if (cmp.mayorQue(n))
                {
                    if (raizTmp.subarbolDcho() != null)
                    {
                        raizTmp = raizTmp.subarbolDcho();
                    }
                    else
                    {
                        return(null);
                    }
                }
                else
                {
                    if (raizTmp.subarbolIzdo() != null)
                    {
                        raizTmp = raizTmp.subarbolIzdo();
                    }
                    else
                    {
                        return(null);
                    }
                }
                if (cmp.igualQue(n))
                {
                    return(raizTmp);
                }
            }
            return(raizTmp);
        }
Example #5
0
        protected Nodo buscarDatoAvl(Nodo raizSub, Comparador dato)
        {
            if (raizSub == null)
            {
                return(null);
            }
            else if (dato.igualQue(raizSub.valorNodo()))
            {
                count++;
                return(raizSub);
            }

            else if (dato.menorQue(raizSub.valorNodo()))
            {
                count++;
                return(buscarDatoAvl(raizSub.subArbolIzdo(), dato));
            }

            else
            {
                count++;
                return(buscarDatoAvl(raizSub.subArbolDrcho(), dato));
            }
        }