Documentos de Académico
Documentos de Profesional
Documentos de Cultura
public boolean Retira(NodoABB<T> R, T Infor) { // SE CREA EL MTODO BOOLEANO Retira QUE RECIBE UN NODO GENRICO DE
ARBOL DE BUSQUEDA BINARIA R Y UNA VARIABLE GENRICA Infor
String Llave=Infor.toString(); // SE CREA LA VARIABLE STRING Llave, SE LE ASIGNA EL VALOR STRING DE Infor
Ant=R; // A Ant SE LE ASIGNA EL VALOR DE R, PARA QUE EL NODO ACTUAL SE CONVIERTA EN EL ANTERIOR
}
else // EN CASO DE QUE Llave TENGA UN VALOR IGUAL A R, ENTRA
if (R.DameSubIzq() != null && R.DameSubDer() != null) { // SI EL HIJO IZQUIERDO Y EL HIJO DERECHO DE R NO SON
NULOS, ENTRA
NodoABB<T> Temp=R.DameSubDer(); // SE CREA UN NODO TEMPORAL Temp CON EL VALOR DEL HIJO DERECHO DE R
NodoABB<T> Aux=R; // SE CREA UN NODO AUXILIAR Aux CON EL VALOR DEL NODO ACTUAL R
boolean RamaIzq=false; // SE CREA UNA VARIABLE BOOLEANA RamaIzq MARCADA COMO FALSA
while (Temp.DameSubIzq() != null) // MIENTRAS QUE EL HIJO IZQUIERDO DE Temp NO SEA NULO, ENTRA AL CICLO
Dr = R.Info; // A LA VARIABLE Dr (LTIMO VALOR ELIMINADO DEL ARBOL) SE LE ASIGNA LA VIARIABLE Info DEL NODO
R
R.Info = Temp.Info; // A LA VARIABLE Info DEL NODO R SE LE ASIGNA LA VARIABLE Info DEL NODO Temp
else // EL HIJO IQUIERDO Y/O EL HIJO DERECHO DE R RESULTAN SER NULOS, ENTRA
Dr=R.Info; // A LA VARIABLE Dr (LTIMO VALOR ELIMINADO DEL ARBOL) SE LE ASIGNA LA VIARIABLE Info DEL
NODO R
}
else // EN CASO DE QUE EL NODO R NO SEA IGUAL A LA RAZ PRINCIPAL DEL ARBOL (Root), ENTRA
Dr=R.Info; // A LA VARIABLE Dr (LTIMO VALOR ELIMINADO DEL ARBOL) SE LE ASIGNA LA VIARIABLE Info DEL NODO
R
else // EN CASO DE QUE LA VARIABLE BOOLEANA b NO EST MARCADO COMO VERDADERO, ENTRA
else // EN CASO DE QUE LA VARIABLE BOOLEANA b NO EST MARCADO COMO VERDADERO, ENTRA