Ver Mensaje Individual
  #5 (permalink)  
Antiguo 06/01/2012, 16:02
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: Recursividad en Python.

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
  1. #While
  2. i = 0
  3. while i < 10:
  4.     print i
  5.     i += 1
  6.  
  7. #Recursivo
  8. def f(i):
  9.     if i < 10:
  10.         print i
  11.         f(i+1)
  12. 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.