recursividad vs iteración

Upload: mauro-leonardo-rosas-lara

Post on 22-Feb-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 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.