¿En terminos de practicidad, es mejor hacer una función recursiva, o generar una sola función con un ciclo?, por temas de memoria y proce...

Pregunta de la clase:
Recursividad
Camilo Arias Céspedes

Camilo Arias Céspedes

Pregunta
studenthace 4 años

¿En terminos de practicidad, es mejor hacer una función recursiva, o generar una sola función con un ciclo?, por temas de memoria y procesamiento de datos, ¿que es más optimo?

4 respuestas
para escribir tu comentario
    Simon Correa Henao

    Simon Correa Henao

    studenthace 4 años

    Hola, como decía el compañero. Con el tema por ejemplo de Estructuras de Datos y Algoritmos te das cuenta que son más eficientes la mayor parte de las veces resolver los problemas con ciclos que con recursividad, esto porque con la Big O Notation observas que gasta más tiempo de ejecución en el peor de los casos. Sin embargo esto no quiere decir que los ciclos sean mejores, ni mucho menos. La recursividad tiene muchas aplicaciones y para algunos problemas suele ser mucho más útil o más fácil utilizar la recursión. En conclusión, todo depende del problema que estés abordando, pero tómalo como que ahora tienes una herramienta nueva y muy poderosa para enfrentar los problemas!

    Cristian Blandón

    Cristian Blandón

    studenthace 4 años

    Hola :)

    Todo depende... en ocasiones la recursividad puede aumentar la complejidad de la función un poco (respecto al uso de recursos).

    La decisión se basa generalmente en el problema que intentes solucionar... Si, por ejemplo, tu problema se puede dividir en problemas más pequeños que se solucionan de la misma forma que el problema grande (ordenar una lista de 10 elementos será lo mismo que ordenar una de 2, luego una de 3, luego una de 4...), pues la recursividad será la mejor forma de abordarlo.

    ¡Saludos!

    JESUS ALBERTO CARREÑO MARTINEZ

    JESUS ALBERTO CARREÑO MARTINEZ

    studenthace 4 años

    Hola Para esto te recomiendo investigar el tema de Big O Notation, lo cual permite ver el crecimiento de una función, lo cual se traduce en datos, capacidad de computo etc

    Las funciones recursivas tienen una notación de 2**n, es decir, que crecerán exponencialmente, lo cual toma mas tiempo de resolver

    En este gráfica puedes ver mejor el crecimiento de cada funcion

    rererere.PNG

Curso de Programación Estructurada

Curso de Programación Estructurada

La programación estructurada es el paradigma que nos ha permitido programar robots, cohetes espaciales y sistemas operativos. Aprende este paradigma y desarrolla programas eficientes recurriendo únicamente a sus 3 estructuras básicas: Secuencia, Decisiones e Iteraciones aplicándolas con el lenguaje C.

Curso de Programación Estructurada
Curso de Programación Estructurada

Curso de Programación Estructurada

La programación estructurada es el paradigma que nos ha permitido programar robots, cohetes espaciales y sistemas operativos. Aprende este paradigma y desarrolla programas eficientes recurriendo únicamente a sus 3 estructuras básicas: Secuencia, Decisiones e Iteraciones aplicándolas con el lenguaje C.