public bool estaBalanceado(NodoAVL nodo) { if (nodo != null) { if (nodo.getFE() > 1 || nodo.getFE() < -1) { return(true); } } return(false); }
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); }