(Desde una perspectiva un poco informática)
Una fórmula recursiva tiene dos partes: una condición terminal y una llamada recursiva.
Por ejemplo, digamos los números de Fibonacci. Digamos que f(n)f(n) calculará el nn -ésimo número de Fibonacci. Nuestro dominio son los números naturales.
Por tanto, la función es a trozos:
f(n)={1,if n = 1 or n = 2f(n−1)+f(n−2),if n > 2
La condición terminal es cuando n=1 o n=2 . En cualquier caso, la función devuelve un valor duro.
La llamada recursiva es la otra parte. Estamos definiendo la función (para ciertos valores) en términos de sí mismo . Si n es lo suficientemente grande, esto provocará más llamadas recursivas. Finalmente, una de las llamadas recursivas será a n=1 o n=2 por lo que devolverá un valor duro. Y luego la llamada recursiva que hizo que llamada recursiva tiene un valor duro, y así sucesivamente.
He aquí un ejemplo con n=5 : f(5)=f(3)+f(4)=f(2)+f(3)+f(2)+f(1)=1+f(1)+f(2)+1+1=1+1+1+1+1=5
Además, se podría tener una fórmula recursiva para el determinante de un n×n matriz. Piensa en cuál sería la condición terminal: para qué valores de n ¿conoces una forma sencilla de calcular el determinante? Sin duda, para n=1 y n=2 pero tal vez incluso n=3 ? Y luego piensa en cómo definir recursivamente el determinante de una matriz mayor a partir de los determinantes de matrices menores (pista: expansión cofactorial).
Sin embargo, una advertencia: Una fórmula recursiva para determinantes es muy ineficiente, y tomará extremadamente largos tiempos de cálculo (incluso por ordenador) para valores mayores de n .