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

Ayuda con Recursividad en Arboles Binarios

Estas en el tema de Ayuda con Recursividad en Arboles Binarios en el foro de C/C++ en Foros del Web. Hola Amigos... Quisiera ver si me pueden ayudar.. Tengo un problema, con una tarea programada en la cual me piden crear un arbol binario completo ...
  #1 (permalink)  
Antiguo 15/02/2010, 02:19
 
Fecha de Ingreso: febrero-2010
Mensajes: 152
Antigüedad: 14 años, 10 meses
Puntos: 2
Ayuda con Recursividad en Arboles Binarios

Hola Amigos...
Quisiera ver si me pueden ayudar..
Tengo un problema, con una tarea programada en la cual me piden crear un arbol binario completo para un torneo de tennis, eso si los nodos no tienen claves numericas para acomodarlos, ademas estan vacios y se supone que los debo llenar desde las ramas del arbol, como un torneo de tennis.
Y luego graficarlo horizontalmente.
Lo que mas me preocupa es crear el arbol con los nodos vacios, zq se me ocurrio aplicar recursividad para ir creando los nodos tanto a izquierda como a derecha de la raiz, pero me da problemas el codigo que hice.

No se si necesitan ver mi codigo, pero si es asi avisenme y lo pondre con gusto...

Gracias de antemano...
  #2 (permalink)  
Antiguo 15/02/2010, 20:39
 
Fecha de Ingreso: enero-2010
Mensajes: 25
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Ayuda con Recursividad en Arboles Binarios

Es mejor que pongas tu codigo así podemos ver en que ayudar..
Con respecto a los arboles binarios, es mas común implementarlos de forma recursiva, por lo que se escribe menos código..

Saludos.
  #3 (permalink)  
Antiguo 19/02/2010, 14:07
 
Fecha de Ingreso: febrero-2010
Mensajes: 152
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: Ayuda con Recursividad en Arboles Binarios

Aqui esta el codigo.
El problema era que no le habia mandado la Raiz como parametro, desde el menu principal.

void arbol::Crear(pPartido revo,int num,int T) //MANDAMOS PARAMETRO PARA ACTUALIZAR LAS INSERCIONES
{

pPartido temp = NULL;
pPartido actual = revo;

if(num>=2)
{
if(Raiz==NULL)
{
temp = new Partido();
Raiz = temp;
actual = Raiz;
temp = temp->izq;
}
}

while( T>0 )
{
--T;

/*ACA UBICO LOS NODOS A LA IZQUIERDA*/
if(actual!=NULL){
if(actual->izq==NULL)
{
temp = new Partido();
actual->izq = temp;
actual->izq->ant = actual;
temp = temp->izq;
Crear(actual->izq,num,T);
}
}

if(actual!=NULL)
{
if(actual->der==NULL)
{
temp = new Partido();
actual->der = temp;
actual->der->ant = actual;
temp = temp->der;
Crear(actual->der,num,T);
}

}

T = 0;

}


}

Ahi esta...

Etiquetas: arboles, recursividad, binario
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 21:12.