Antes de empezar recursividad (y suponiendo que sabes ciclos) tienes que definir mas formalmente que es recursividad y como funciona.
¿Que es recursividad? Sacado de la wikipedia:
Recurrencia, recursión o recursividad es la forma en la cual se especifica un proceso basado en su propia definición.
Esto puede ser algo confuso, pero sigamos adelante y nos quedemos atorados en la definición "formal".
¿Como funciona la recursividad en programación?
Una función recursiva siempre debe de tener 2 partes.
La condición de parada y el caso general. Si lo traducimos en un ciclo while este sería la condición de parada y el cuerpo del while.
Ahora vamos a definir una propiedad muy interesante:
Cualquier algoritmo iterativo puede ser traducido a uno recursivo y viceversa
Veamos un ejemplo de un ciclo while a una función recursiva.
Código Python:
Ver original#While
i = 0
while i < 10:
print i
i += 1
#Recursivo
def f(i):
if i < 10:
print i
f(i+1)
f(0)
Ten en mente que esto es exponencial así que ten cuidado cuando utilices recursión de orden 2 o mayor.
Si quieres ejercicios puedes pensar en escribir tus programas iterativos en recursivos.