USO DE RECURSIÓN PARA ALGORITMOS REPETITIVOS

--Originally published at Python.

Ya hemos visto como funcionan los loops. Una cosa interesante de ellos es que pueden utilizarse a sí mismas. Para dejar más claro esto es que son algoritmos repetitivos y su función es definirse y utilizarse a sí misma. En Python se puede hacer esto. Un gran ejemplo de ello es la Factorial de la WSQ09.

image

Vemos que dentro de la función de la Factorial, en la línea 7 se llama sí mismo. Esto sirve para definir “n!” luego de haber puesto las condiciones anteriores. Básicamente, es como un loop. También se llamó esa función dentro de otro loop y el output sería esto:

image


Otro gran ejemplo sería el de Gran Común Divisor en el WSQ12:
Fórmula de Éuclides:
GCD(a, a) = a
GCD(a, b) = gcd(a - b, b) si a > b
GCD(a, b) = gcd(a, b - a) si a < b

image

Se ve que en la línea 5 y en la línea 8 se llama la función GCD() con diferentes parámetros. Es otro loop y el output sería esto:

image


No en todos los casos se puede utilizar algoritmos recursivos, todo depende de qué tipo de problema estás enfrentando.

de: http://rogramming.blogspot.mx/2015/05/mastery-21-use-of-recursion-for.html