• Viernes 29 de Marzo de 2024, 16:50

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - locazopro

Páginas: [1]
1
C/C++ / Arboles: el camino hacia una hoja
« en: Lunes 15 de Junio de 2009, 23:45 »
Haciendo un programa me encontré con este problema y no se me ha ocurrido la solución, les cuento:

tengo un árbol (en este caso es 4-ario) y necesito conocer el camino desde la raíz a cada una de las hojas del árbol. Cuando me refiero a la raíz es que cada nodo pues puede tener 4 hijos (0, 1 , 2 y 3). Entonces lo que necesito es conocer el camino de la raíz a la hoja, por ejemplo un camino podría ser   0-0-1 (la raíz tiene un hijo 0 el cual a su vez tiene otro hijo 0 el cual tiene un hijo 1 el cual es hoja). Espero se halla entendido.

Dejo para mas claridad la estructura correspondiente a los nodos del árbol.

Código: C
  1.  
  2. typedef struct _arbol{
  3.    int dato;   /* dato asociado a cada nodo */
  4.    int peso;  /* peso del nodo */
  5.    struct _arbol *hijo[4];  /*hijos */
  6. }arbol;
  7.  
  8.  

hay algún algoritmo creado para hacerlo?? o alguna ayuda?.  Resulta que he tratado de hacerlo de manera recursiva como es el caso de casi todos los listamientos en árboles, pero no resulta pues para listar cada camino necesitaría pasar por algunos nodos (los nodos padres) mas de una vez y recursivamente no creo que se pueda.

Desde ya gracias.

Páginas: [1]