Documentos de Académico
Documentos de Profesional
Documentos de Cultura
7B Recursividad PDF
7B Recursividad PDF
Utilidad
Cuando la solucin de un problema se puede expresar en
trminos de la resolucin de un problema de la misma naturaleza,
aunque de menor complejidad.
Divide y vencers:
Un problema complejo se divide en otros problemas ms sencillos
(del mismo tipo)
return resultado;
}
fact(0)
1
n=0
fact(1)
1
n=1 n=1 n=1
fact(2) 2
n=2 n=2 n=2 n=2 n=2
fact(3) 6
fact(4) n = 3 n=3 n=3 n=3 n=3 n=3 n=3
24
n=4 n=4 n=4 n=4 n=4 n=4 n=4 n=4 n=4
tiempo
Ejemplo
static int potencia (int x, int n)
{
if (n==0) // Caso base
return 1;
else // Caso general
return x * potencia(x,n-1);
}
n=0
x=5 1
n=1 n=1 n=1
x=5 x=5 x=5 5
n=2 n=2 n=2 n=2 n=2
x=5 x=5 x=5 x=5 x=5 25
n=3 n=3 n=3 n=3 n=3 n=3 n=3
x=5 x=5 x=5 x=5 x=5 x=5 x=5 125
Clculo de 53
- La carga computacional
(tiempo de CPU y espacio en memoria)
asociada a las llamadas recursivas.
- La redundancia
(algunas soluciones recursivas
resuelven el mismo problema en repetidas ocasiones).
- La complejidad de la solucin
(en ocasiones, la solucin iterativa es muy difcil de encontrar).