Example #1
0
 public bool estaBalanceado(NodoAVL nodo)
 {
     if (nodo != null)
     {
         if (nodo.getFE() > 1 || nodo.getFE() < -1)
         {
             return(true);
         }
     }
     return(false);
 }
Example #2
0
 public NodoAVL reestructuracion(NodoAVL x, NodoAVL y, NodoAVL z)
 {
     if (x != null && y != null && z != null)
     {
         if (x.getFE() < -1)
         {
             if (y.getFE() == 1)
             {
                 if (raiz != x)
                 {
                     return(rotacionDobleIzquierda(x));
                 }
                 else
                 {
                     raiz = rotacionDobleIzquierda(x);
                     return(raiz);
                 }
             }
             else if (y.getFE() == -1)
             {
                 if (raiz != x)
                 {
                     return(rotacionIzquierda(x));
                 }
                 else
                 {
                     raiz = rotacionIzquierda(x);
                     return(raiz);
                 }
             }
             else if (y.getFE() == 0)
             {
                 if (raiz != x)
                 {
                     return(rotacionIzquierda(x));
                 }
                 else
                 {
                     raiz = rotacionIzquierda(x);
                     return(raiz);
                 }
             }
         }
         else if (x.getFE() > 1)
         {
             if (y.getFE() == -1)
             {
                 if (raiz != x)
                 {
                     return(rotacionDobleDerecha(x));
                 }
                 else
                 {
                     raiz = rotacionDobleDerecha(x);
                     return(raiz);
                 }
             }
             else if (y.getFE() == 1)
             {
                 if (raiz != x)
                 {
                     return(rotacionDerecha(x));
                 }
                 else
                 {
                     raiz = rotacionDerecha(x);
                     return(raiz);
                 }
             }
             else if (y.getFE() == 0)
             {
                 if (raiz != x)
                 {
                     return(rotacionDerecha(x));
                 }
                 else
                 {
                     raiz = rotacionDerecha(x);
                     return(raiz);
                 }
             }
         }
     }
     return(null);
 }