Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ayuda con arboles

Estas en el tema de Ayuda con arboles en el foro de C/C++ en Foros del Web. hola, necesito ayuda con un programa de arboles. estoy haciendo un programa en el que se puede modificar el valor de los nodos, y los ...
  #1 (permalink)  
Antiguo 02/12/2008, 10:58
 
Fecha de Ingreso: noviembre-2008
Mensajes: 6
Antigüedad: 16 años
Puntos: 0
Ayuda con arboles

hola, necesito ayuda con un programa de arboles. estoy haciendo un programa en el que se puede modificar el valor de los nodos, y los valores mas altos tienen que ir subiendo a nodos superiores, pero hay un caso en el que tengo problemas. esto es un ejemplo de lo k deberia hacer el arbol:

partiendo del arbol:

(10)
(9) (7)
(3)(4) (6)(8)

tendria que quedar asi:

(10)
(9) (8)
(3)(4)(7)(*)
donde * es otro nodo que deberia añadir de una lista de nodos y el 6 quedaria fuera del arbol.
cualquier idea de como hacer esto con cualquier arbol seria de gran ayuda, si alguien me pudiera ayudar con esto lo agradeceria muchisimo.
  #2 (permalink)  
Antiguo 02/12/2008, 20:05
 
Fecha de Ingreso: febrero-2006
Mensajes: 49
Antigüedad: 18 años, 9 meses
Puntos: 1
Respuesta: Ayuda con arboles

Buenasss

El árbol es siempre binario?? Si es así podes usar un heap (tambien conocido como parva o cola de prioridad), eso es muy eficiente ya que te sirve para tenerlo ordenado, y despues eliminar el nodo que necesites.

Busca información en la web sobre lo que te acabo de comentar. El ejercicio no es trivial.

Cualquier cosa preguntá
Saludos
  #3 (permalink)  
Antiguo 03/12/2008, 03:15
 
Fecha de Ingreso: noviembre-2008
Mensajes: 6
Antigüedad: 16 años
Puntos: 0
Respuesta: Ayuda con arboles

muchas gracias, si es siempre binario, he buscado un poco sobre heaps y me ha dado alguna idea, usando un vector o un array se simplifica bastante
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:42.