Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/07/2011, 15:29
pnsativo
 
Fecha de Ingreso: julio-2011
Mensajes: 2
Antigüedad: 13 años, 4 meses
Puntos: 0
De acuerdo Respuesta: Arboles Binarios

Cita:
Iniciado por sam90 Ver Mensaje
Viendo tu metodo:

Código C:
Ver original
  1. void inOrder(ARBOLNODOPTR arbolPtr)
  2. {
  3.  if (arbolPtr != NULL)
  4.  {
  5.     inOrder(arbolPtr->izquierdaPtr);
  6.     printf("%3d", arbolPtr->dato);
  7.     inOrder(arbolPtr->derechaPtr);
  8.  }
  9. }

Cada vez que llegamos a la condicion de que arbolPtr es NULL eso quiere decir que es una hoja. Ahora simplemente deberias returnar un uno idicando que es una hoja. Luego cada llamada recursiva recoje esos valores y simplemente los suma y los devuelve.

Código C:
Ver original
  1. int NumHoja(ARBOLNODOPTR arbolPtr)
  2. {
  3.  if (arbolPtr != NULL)   return ( NumHoja(arbolPtr->izquierdaPtr) +    NumHoja(arbolPtr->derechaPtr) ) ;
  4.  else return 1;
  5. }
Muchas Gracias por la ayuda ... Pero Como Quedaria dentro del codigo??... Y Una Vez maz Gracias