Diferencias entre recursión e iteración

Por luc braybury
Diferencias entre recursión e iteración
Ablestock.com/AbleStock.com/Getty Images

La recursión y la iteración son técnicas de programación que se suelen utilizar en programas de software para resolver rápidamente problemas complejos y repetitivos. Un programa recursivo simplifica un problema y lo resuelve desde abajo hacia arriba. Un proceso iterativo repite un proceso una y otra vez empezando cada nueva iteración con el resultado de la iteración anterior. El objetivo principal de estas técnicas es acelerar la ejecución de un programa.

Recursión

Una operación recursiva es un proceso que se repite hasta que se llega a una instrucción final desde dentro de la operación. La técnica recursiva más habitual en la programación de computadoras es un método de reducción de un problema, desde arriba hacia abajo, consiguiendo una versión del propio problema cada vez más simple hasta que se llega a un caso base. La solución al caso base se combina con la solución de cada uno de los problemas anteriores hasta llegar al primero, al caso más complicado.

Iteración

En programación de computadoras, una operación iterativa es la que repite un proceso durante un número determinado de veces (iteraciones), dependiendo de los parámetros definidos por el programador. Normalmente la salida de una iteración del proceso se utiliza como punto de inicio para la siguiente iteración. Cada paso origina el paso siguiente. El proceso continúa hasta que se alcanza una meta determinada y el proceso termina.

Diferencia principal

La diferencia más importante entre las operaciones recursivas y las iterativas es que los pasos de una operación iterativa se realizan uno cada vez y dirigen la ejecución directamente al siguiente paso. En una operación recursiva, cada paso después del paso inicial es una réplica del paso anterior. Además, desde arriba hacia abajo, cada paso es un poco más sencillo que el que hay justo "encima". Al final de la operación, todas las soluciones se combinan para resolver el problema.

Ejemplos

Un ejemplo habitual de una operación cursiva es un factorial. El factoral de un número es el producto de los enteros positivos menores o iguales que ese número. Resolver este problema recursivamente requiere multiplicar el número inicial por sí mismo menos 1. La expresión recursiva es n(n - 1), donde n es el número inicial. Cada paso es un poco más sencillo que el paso anterior. La operación termina cuando n se reduce a 1. Un ejemplo de una iteración es encontrar la suma de un conjunto de números. La expresión iterativa es (n + (n + 1)), donde n es el número inicial. Cada paso empieza con la solución del paso anterior. La operación termina cuando n llega al número deseado.