Recursividad
Algoritmos recursivos
Un algoritmo recursivo es aquel que utiliza una parte de él mismo como solución al problema. Esto se puede entender como un algoritmo que se“llama” a sí mismo para ejecutar la operación.
Eficiencia de los algoritmos recursivos y de iteración
Por lo general, los algoritmos recursivos suelen ser menoseficientes en tiempo que los iterativos, a continuación se muestran los siguientes motivos:
Motivos:
1. Cada llamada requiere tiempo para
Hacer la llamada a la función
Crearlas variables locales y copiar los parámetros por valor
Ejecutar las instrucciones de la función
Destruir las variables locales y parámetros por valor
Salir de lafunción
2. Posible sobrecarga debido a la solución
3. Puede necesitar mucha memoria
Debemos tomar en cuenta que la recursividad se debe usar cuando sea realmentenecesaria, es decir, cuando no exista una solución iterativa simple.
Sin embargo presenta soluciones a problemas complejos, soluciones simples, claras, elegantes. De la mismamanera un algoritmo recursivo es mucho más corto a contraparte de un algoritmo iterativo, y se puede llevar a cabo un ahorro de tiempo referente al transcurso de suprogramación.
Mientras que un algoritmo iterativo permite manejar la complejidad del proyecto, llevando a cabo la resolución de los problemas por partes, no usa tanta memoria,aumenta la productividad y optimiza el proceso a corto plazo. Sin embargo, para su creación, requiere de un mayor tiempo y mayor cantidad de instrucciones.
CódigoRecursivo del Factorial de un Número
#include
#include
using namespace std;
long double factorial(int);
int main()
{ int n;
cout > n;
cout
Regístrate para leer el documento completo.