• Jueves 28 de Marzo de 2024, 18:25

Autor Tema:  Re: arboles binarios  (Leído 2474 veces)

Xtr

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Re: arboles binarios
« en: Jueves 12 de Junio de 2003, 19:50 »
0
hola!
necesito ayuda con los arboles binarios,
en concreto (para facilitar las cosas ) los ABB
estoy haciendo un procedimiento que elimina un nodo x del ABB, para ello hay que considerar 3 casos
1) x es una hoja
2) x tiene un solo subarbol
3) x tiene dos subarboles, en este caso x debe reeemplazarse por su sucesor ( o predecesor) en un recorrido en inorden
y bueno, pues tengo unos ligeros problemillas, sobre todo con el caso 3
se supone que antes hay un procedimiento que busca el elemento en el ABB y nos devuelve el nodo en el q se encuentra dicho elemento, adjunto el codigo, y si alguien puede que me corrija:

PROCEDURE BorrarEle (VAR Raiz:TipoArbolBin; VAR Padre:PtroArbolBin );


BEGIN
  IF ( Padre^.HijoIz = NIL ) AND (Padre^.HijoDr = NIL ) THEN
     Padre:= NIL     {eliminar una hoja}
  ELSE IF (Padre^.HijoIz = NIL ) AND (Padre^.HijoDr <> NIL) THEN
     Padre:= Padre^.HijoDr {eliminar un padre con un solo subarbol}
  ELSE IF (Padre^.HijoIz <> NIL) AND (Padre^.HijoDr = NIL) THEN
     Padre:= Padre^.HijoIz;
END ;(* BorrarEle *)

explico un poco, se supone que raiz apunta al primer elemento del arbol, y padre es el nodo que nos pasa el procedimiento buscar, es decir donde esta el elemento a eliminar, pues como es obvio, el problema esta en que no se como hacer que cambie la raiz :think: mas de uno pensara que estoy atontado:yes: con razon claro jejeje
bueno, eso que si alguien puede hecharme una manilla:gracias:

Xtr

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Re: arboles binarios
« Respuesta #1 en: Jueves 12 de Junio de 2003, 19:53 »
0
se me ha colado una carita, donde pone PtroArbolBin en la declaracion como antes hay : jejjejejee
y bueno hay que decir que el caso 3 no esta hecho....

cheapblack

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
arboles binarios
« Respuesta #2 en: Sábado 21 de Junio de 2003, 23:43 »
0
lo que necesitas esta adjuntado abajo
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.