Académique Documents
Professionnel Documents
Culture Documents
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
}
// MTODO Busca
public boolean Busca(NodoABB<T> Raiz, T Dato){ // SE CREA EL MTODO Busca, QUE RECIBE UN NODO GENRICO DE ARBOL DE
BUSQUEDA BINARIA Raiz Y UNA VARIABLE GENRICA Dato
Dr=Raiz.Info; // A LA VARIABLE Dr (LTIMO VALOR ELIMINADO DEL ARBOL) SE LE ASIGNA LA VARIABLE Info DEL NODO
Raiz
// EN CASO DE QUE EL VALOR STRING DE Dato SEA MENOR AL VALOR STRING DE LA VARIABLE Info DEL NODO Raiz, ENTRA LA
SIGUIENTE LINEA
return Busca(Raiz.DameSubIzq(),Dato); // SE RETORNA EL VALOR BOOLEANO QUE RETORNE LA LLAMADA RECURSIVA SIMPLE AL
MTODO Busca, AL CUAL SE LE ENVA EL HIJO IZQUIERDO DEL NODO Raiz (QUIEN SE CONVERTIR EN LA RAIZ PRINCIPAL DE FORMA
TEMPORAL) Y LA VARIABLE GENRICA Dato
}