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

Árboles binaryos

Estas en el tema de Árboles binaryos en el foro de C/C++ en Foros del Web. Hola foreros del web , para mi carrera tengo que hacer 2 funciones sin recursividad de como mostrar un árbol por pantalla con los tres ...
  #1 (permalink)  
Antiguo 06/12/2011, 12:53
 
Fecha de Ingreso: diciembre-2010
Mensajes: 52
Antigüedad: 13 años, 5 meses
Puntos: 5
Pregunta Árboles binaryos

Hola foreros del web, para mi carrera tengo que hacer 2 funciones sin recursividad de como mostrar un árbol por pantalla con los tres recorridos ya famosos. He hecho la función secuencial para pre orden, pero no me sale para post orden, alguna ayudita.

Esta sería la solución en pseudocódigo en pre orden por si a alguien le interesa:

Código:
push(NULL); //insertamos en una pila el valor NULL, para asegurarnos de que esté vacía
actual=raíz;                       //insertamos el nodo raíz
MIENTRAS (actual != NULL) HACER

    mostrar(actual);                      //muestro el nodo actual
    SI (D(actual) != NULL)               //preguntamos si actual tiene árbol derecho
         ENTONCES push(D(actual));
    FIN-SI
    SI (I(actual) != NULL)               //preguntamos si actual tiene árbol izquierdo
         ENTONCES actual=I(actual); //nos movemos a él si lo tiene
    FIN-SI
    SINO           // si actual no tiene árbol izquierdo
         actual=tope pila;     //ponemos en actual el último elemento introducido en la pila
         pila.pop();                 //y lo quitamos de la pila
    FIN-SINO

FIN-MIENTRAS
Graccias.
  #2 (permalink)  
Antiguo 12/12/2011, 06:31
 
Fecha de Ingreso: diciembre-2010
Mensajes: 52
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: Árboles binaryos

Refloto a ver si alguien lo consigue, estoy rayadísimo con esta mierda.

Etiquetas: arboles, orden, recorrido
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 11:45.