Descargar la presentación
La descarga está en progreso. Por favor, espere
1
2.2 Procedimientos recursivos
3
Si un subprograma se llama a si mismo se repite su ejecución un cierto numero de veces.
Los procesos recursivos suelen ocupar más memoria y tardar un poquito más que los iterativos porque cuando el compilador llama a una subrutina guarda todas las variables locales. for while
4
Ver ejemplos multItera.java multRecu.java
La recursividad y la iteración (ejecución en bucle) están muy relacionadas, cualquier acción que pueda realizarse con la recursividad puede realizarse con iteración y viceversa. Tanto la iteración como la recursión se basan en una estructura de control: - La iteración utiliza una estructura repetitiva - La recursión utiliza una estructura de selección. La iteración y la recursión implican ambas repetición: - La iteración utiliza explícitamente una estructura repetitiva - La recursión consume la repetición mediante llamadas repetidas. La iteración y la recursión implican cada una un test mientras que la recursión termina cuando se reconoce un caso base o la condición de salida se alcanza. Ver ejemplos multItera.java multRecu.java
5
Ventajas de la Recursión
Soluciones simples, claras Soluciones elegantes. Soluciones a problemas complejos. Desventajas de la Recursión: INEFICIENCIA Sobrecarga asociada con las llamadas a subalgoritmos • Una simple llamada puede generar un gran numero de llamadas recursivas. (Fact(n) genera n llamadas recursivas) • ¿La claridad compensa la sobrecarga? • El valor de la recursividad reside en el hecho de que se puede usar para resolver problemas sin fácil solución iterativa. -La ineficiencia inherente de algunos algoritmos recursivos. La recursividad se debe usar cuando sea realmente necesaria, es decir, cuando no exista una solución iterativa simple.
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.