Recursividad vs Iteración
-
Upload
mauro-leonardo-rosas-lara -
Category
Documents
-
view
221 -
download
0
Transcript of Recursividad vs Iteración
-
7/24/2019 Recursividad vs Iteracin
1/9
Recursividad vs Iteracin
Carrera de Ingeniera Informtica
-
7/24/2019 Recursividad vs Iteracin
2/9
Aspectos que hay que considerar al decidir cmo implementasolucin a un problema si es de forma iterativa o de forma re
La carga computacional (tiempo de CPU y espacio en memo
asociada a las llamadas recursivas. La redundancia (algunas soluciones recursivas resuelven un
en repetidas ocasiones).
La complejidad de la solucin (en ocasiones, la solucin itermuy difcil de encontrar).
La concisin, legibilidad y elegancia del cdigo resultante desolucin recursiva del problema.
-
7/24/2019 Recursividad vs Iteracin
3/9
-
7/24/2019 Recursividad vs Iteracin
4/9
Recursividad vs Iteracin
1- Ambas realizan una repeticin:a) Solucin iterativa repite el cuerpo del bucle.
b) Solucin recursiva repite las llamadas al mtodo recursivo
2- Ambas tienen una condicin de terminacin.
a) Solucin iterativa: termina cuando se incumple la condicicontinuacin del bucle.
b) b)Solucin recursiva: se termina cuando una llamada alcabase (induccin) desencadenando una secuencia de vuelt
-
7/24/2019 Recursividad vs Iteracin
5/9
Continuacin
3- Ambas se deben disear para converger a la solucin (princonvergencia, y que no se salten la condicin de terminacin)
a) Solucin iterativa: se llega a cumplir la condicin de termi(esto se debe garantizar).
b) Solucin recursiva: se debe garantizar que se llegue al cas
Principio importante: Toda solucin recursiva puede encontsolucin iterativa equivalente, mientras que lo contrario no es cierto.
-
7/24/2019 Recursividad vs Iteracin
6/9
Ejemplo Recursivo
long factorial(long);
int main(){int num;
coutnum;
for(int i=0; i
-
7/24/2019 Recursividad vs Iteracin
7/9
-
7/24/2019 Recursividad vs Iteracin
8/9
Iterativa
long factorial(long);
int main(){int num, fact;coutnum;resultado=factorial(num);cout
-
7/24/2019 Recursividad vs Iteracin
9/9
Conclusin
la diferencia que podemos encontrar en la funcin recursivaiterativa es que la recursiva tienes que hacer constantes llamlas funciones que tienes en tu algoritmo o programa, mientla iterativa no son necesarias tantas llamadas para la soluciproblema.