ensayo sobre recursividad
La recursividad no es una estructura de datos sino una técnica para programar que consiste en llamar a una función desde la misma función ypermite que se ejecute una instrucción n veces. Primero se tiene una función o problema y un caso base, si este no lo resuelve entonces llama a otrafunción similar a la original pero una versión más simple de ésta y más fácil de resolver. Esta función se va a llamar a sí misma y se irá simplificando cuantasveces sea necesario hasta resolver el problema. La recursividad acaba cuando se llega al caso base. Cuando sucede esto la función ya sabe cómo resolver elproblema y en este punto se genera una serie de retornos hasta llegar a la función original y devuelve el resultado final a la función que la llamó.
Esmuy importante que toda función recursiva tenga un caso en el que no se llame a sí misma, o las llamadas serían infinitas y el programa no tendría fin. Poreso, siempre una función recursiva tiene una condición inicial o caso base en la que no debe llamarse a sí misma.
Una de las ventajas de programarrecursivamente es que los programas recursivos suelen ser más cortos que si se trabaja con iteración. Las soluciones son más claras, simples y elegantes.
Perocada vez que se hace un llamado a la función se crean en memorias nuevas variables locales y argumentos y esto puede consumir recursos adicionales dememoria y tiempo de ejecución.
La recursividad se debe usar cuando sea realmente necesaria, es decir, cuando no exista una solución iterativa simple.
Regístrate para leer el documento completo.