2. Introducción
La recursividad consiste en realizar una definición de un concepto en términos del
propio concepto que se está definiendo.
Ejemplos:
•Los números naturales se pueden definir de la siguiente forma:
0 es un Número natural y el sucesor de un número natural es también un número
natural.
•El factorial de un número natural n, es 1 si dicho número es 0, o n multiplicado por el
factorial del número n-1, en caso contrario.
•La n-ésima potencia de un número x, es 1 si n es igual a 0, o el producto de x por la
potencia (n-1)-ésima de x, cuando n es mayor que 0.
En todos estos ejemplos se utiliza el concepto definido en lapropia definición.
3. Solución de problemas recursivos:
División sucesiva del problema original en uno o varios más pequeños, del mismo tipo que el
inicial.
•Se van resolviendo estos problemas más sencillos.
•Con las soluciones de éstos se construyen las soluciones de los problemas más complejos.
O lo que es lo mismo:
1.Un problema P se puede resolver conociendo la solución de otro problema Q que es del mismo
tipo que P, pero más pequeño.
2.Igualmente, supongamos que pudiéramos resolver Q mediante la búsqueda de la solución de
otro nuevo problema, R, que sigue siendo del mismo tipo que Q y P, pero de un tamaño menor
que ambos.
3.Si el problema R fuera tan simple que su solución es obvia o directa, entonces, dado que
sabemos la solución de R, procederíamos a resolver Q y, una vez resuelto, finalmente se
obtendría la solución definitiva al primer problema, P.
4. Definición
La Recursividad es una técnica de programación muy poderosa usada ampliamente
para solucionar problemas.
Se logra mediante la definición del problema en términos de una forma más
simple, del problema mismo
.
5. Antepasado
Definición Iterativa:
Antepasado de una persona es su padre, abuelo, bisabuelo, tatarabuelo, tátara -
tatarabuelo, así sucesivamente (observe que aquí hay un ciclo implícito).
Definición Recursiva:
Antepasado de una persona es su padre o el antepasado de su padre.
6. De acuerdo a lo anterior, un antepasado
es:
•Padre.
•Antepasado de su padre.
Por lo tanto:
• Padre.
•Padre de su padre .
•Padre del padre de su padre.
•Etc.
7. Números naturales
Definición iterativa
Los enteros entre Cero e infinito
0 1 2 3 4 5 6 7 8 9 10
Definición recursiva:
Son aquellos que son cero o el siguiente entero a un numero natural
8. Factorial de n.
Definición iterativa:
El producto de todos los enteros positivos menores o iguales a n.
Para n=5; 5! = 1X2X3X4X5
Definición recursiva:
N multiplicado por el factorial del numero natural anterior, El factorial de 0 es 1.
Para n=5, 5 * 4!