Sunteți pe pagina 1din 1

Recursi

vidad
La recursividad es una técnica que se llaman a sí mismas, evitando el uso de bucles y otros iteradores.
También considerado como un proceso, la misma función realizada varias veces hasta que finalice en un
límite, es decir su base.

Es un concepto que siempre les cuesta bastante a los programadores que están empezando es el de recursión o
recursividad, ya que es un concepto complicado a aquel que no es asociado a la programación, pero, mediante
ejemplos y pequeños tipos llega hacer muy sencilla.

Ventajas Desventajas
No es necesario definir la secuencia de Llega a ser menos eficaz
pasos exactos para resolver el problema
Sobrecarga el programa (su
Soluciones en forma y orden algoritmo)
Soluciones a problemas complejos Algoritmo muy cerrado

Aplicaciones
Se aplica a sistemas dentro de un conjunto de sistemas mayores y con ciertas características particulares mas bien funciones o conductas
propias de cada sistema que son semejantes. Se presenta en torno a ciertas características de diferentes elementos dependido de la
complejidad. Con base a lo mencionado, no se trata solo de sumar las partes aisladas sino integrarlas en si una sola totalidad dentro de la
misma, como el caso de la factorial.

Utilidad
Cuando la solución de un problema se puede expresar en términos de la resolución de problemas de la misma naturaleza.

La sobrecarga asociada con las llamadas subalgoritmos; es propio de ellos, aunque es mayor con la recursividad, ya que una simple
llamada inicial un subalgoritmo puede generar un gran numero de llamadas recursivas, es decir, llama a la función dentro de una
función creando así un bucle sencillo evitando los bucles que hemos visto hasta la fecha.

De esta forma esta técnica hace el programador mas formal y elegante al momento de su programación.

Ejemplos
ACKERMANN
int Ackermann(int n,m) {

SERIES DE FIBONACCI if (m == 0)
FACTORIAL
return n+1;
int factorial(int n) { int fib(int n) {
else if (n==0)
if (n>-1 && n<2) if (n<=1)
return ackermann (m-1,1);
return 1; return n;
else
else if (n<0) return 0; else
return Ackermann(m-
else return fib(n-1)+fib(n-2);
1,Ackermann(m,n-1));
return n*nfactorial(n-1) }
}
} ENTREGADO 24/03/2020