La recursividad es la propiedad que tienen las funciones para llamarse a sí mismas. Es útil para realizar tareas tales como: Clasificar elementos ó calcular el factorial de los números. Por ejemplo, para obtener el factorial de un número (n!) la fórmula matemática sería:
n! = n * (n-1) * (n-2) * (n-3)... * 1
Más concretamente, 5! (factorial de 5) sería:
5! = 5 * 4 * 3 * 2 * 1 = 120
Y una función recursiva en C++ también podría calcular eso y seria:
Observe cómo en la función factorial incluímos una llamada a sí misma, pero sólo si el argumento pasado era mayor que 1, ya que de lo contrario, la función realizaría un bucle recursivo infinito y una vez que llegara a 0 continuaría multiplicándose por todos los números negativos (lo que probablemente provoque un desbordamiento de la pila en algún punto durante el tiempo de ejecución).
Publicar un comentario