1 / 5

2.2 Procedimientos recursivos

2.2 Procedimientos recursivos. Si un subprograma se llama a si mismo se repite su ejecución un cierto numero de veces.

zona
Télécharger la présentation

2.2 Procedimientos recursivos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 2.2 Procedimientos recursivos

  2. 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 iterativosporque cuando el compilador llama a una subrutina guarda todas las variables locales. for while

  3. 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.javamultRecu.java

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

More Related