Foro de elhacker.net

Programación => Java => Mensaje iniciado por: vacilador en 12 Octubre 2012, 01:15 am



Título: Recursividad
Publicado por: vacilador en 12 Octubre 2012, 01:15 am
hola a todos!,bueno este es mi primer tema y es la primera vez que me registro en un foro sobre informatica.
primero que todo creo que no esta de mas dar las gracias por lo que me a ayudado este foro a  comprender varios temas del cual me considero ignorante !MUCHAS GRACIAS!.
bueno ire al grano.soy un estudiante de programacion computacional ,estoi en el 3° semestre y en los 2 primeros semestres me fue muy bien en todas las asignaturas,el problema es que ahora tengo el ramos "estructura de datos" y aun no logro entender bien la "recursividad" :huh:,por lo cual queria pedirles si me pueden dar consejos para poder abordar con exito los problemas que plantea la recursividad con material,web que me pueda ayudar o sus sabidurias me servirian mucho.
ojala me puedan ayudar  :D.espero sus consejos !


Título: Re: Recursividad
Publicado por: Nephewless en 12 Octubre 2012, 12:09 pm
jeje! Pues da gracias, a mi me dieron recursividad en el primer cuatrimestre! xD

A ver, que no te asuste la recursividad, pues aunque parezca muy difícil y complicada, al final la haces sin darte ni cuenta. Te sugiero que cojas un par de ejemplos, más sencillos y más complicados y los analices hasta que los comprendas bien, y luego intentes hacer modificaciones o programas recursivos parecidos a ver si te salen.

El éxito de la recursividad es entender que hay una (o más) condiciones que te hacen seguir y otra o otras que te hacen salir de la recursividad.

No se si habrás dado ya ensamblador o gestión de memoria y tal, pero si lo has dado y has visto como se construye en memoria una llamada igual te resultará más fácil entenderlo..


Título: Re: Recursividad
Publicado por: Proteus1989 en 13 Octubre 2012, 03:24 am
La estructura de implementación suele ser:

int metodo(parametros)
{
   Condicion de parada // no habrá más llamadas recursivas, un return hará terminar el método.
   
   Operaciónes

   return Llamada de nuevo al metodo(parametros)
}

La idea es llamarse siempre a si mismo, pero cada vez con unos parametros diferentes, por ejemplo en arboles para poder recorrerlos, cada vez que se llama al método por parametro se le pasa un nodo diferente del árbol.

Si tienes dudas o sigues sin entenderlo déjate caer por aquí un comentario a ver si se te puede solucionar.