Recursión vs iteración
i) En la recursividad, la función se llama a sí misma hasta que se alcanza la condición base.
Por otro lado, la iteración significa la repetición del proceso hasta que la condición falla. Por ejemplo, cuando usa loop (for, while, etc.) en sus programas.
- ¿Qué algoritmo se usa para detectar "No más interruptores posibles, barajar" en la saga Candy Crush?
- ¿Cómo se implementa el algoritmo HITS?
- En Codeforces Round # 308 (Div. 2), ¿cómo descubrieron todos la cantidad de dígitos de un número usando un algoritmo eficiente de toma de tiempo? ¿Alguien puede explicarlo?
- ¿Podría hacerlo sin espacio adicional y en tiempo de ejecución O (n)?
- ¿Qué es recursivo en matemáticas?
ii) El enfoque iterativo implica cuatro pasos, inicialización, condición, ejecución y actualización.
En la función recursiva, solo se especifica la condición base (condición de terminación).
iii) La recursión mantiene su código corto y simple, mientras que el enfoque iterativo hace que su código sea más largo.
iv) La recursión es más lenta que la iteración debido a la sobrecarga de mantener la pila, mientras que la iteración es más rápida.
v) La recursión toma más memoria que la iteración debido a la sobrecarga de mantener la pila.
vi) Si la recursión no finaliza (o no se especifica la condición base), se crea un desbordamiento de pila (donde el sistema se queda sin memoria).
vii) Cualquier problema recursivo se puede resolver de forma iterativa. Pero no puede resolver todos los problemas utilizando la recursividad.
Referencia
Recursion vs Iteration – Diferencia entre Recursion e Iteration
Diferencia entre recursión e iteración (con tabla de comparación) – Diferencias tecnológicas