Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porDolores Segura Redondo Modificado hace 8 años
1
Recursividad Un objeto se dice que es recursivo si él mismo forma parte de su definición. Ejemplos de objetos recursivos: Una locomotora es un tren Un tren es un vagón enganchado a un tren El factorial de 0 es 1 El factorial de un numero natural es el producto de dicho numero por el factorial de su antecesor
2
Algoritmo recursivo Un programa o algoritmo se denomina recursivo si está directa o indirectamente basado en sí mismo
3
Algoritmo recursivo Todo programa recursivo debe tener:
Condición de parada o punto conocido del dominio que ponga fin a la recursividad. Al menos una llamada a sí mismo. (invocación recursiva)
4
Algoritmo recursivo – Ejemplo
Ejemplo: Factorial | si n = 0 Fact (n) = | | n* Fact (n-1) si n > 0 Algoritmo: Function fact(n: integer):integer; /* calcula n! */ Begin if (n = 0) then fact := 1 else fact := n* fact(n-1); End;
5
¿Cómo se evalúa un algoritmo recursivo?
fact (5) = 5 * fact (4) fact (4) = 4 * fact (3) fact (3) = 3 * fact (2) fact (2) = 2 * fact (1) fact (1) = 1 * fact (0) fact(0) = 1 Ejemplo: factorial, n=5 120 24 6 2 1 1
6
Ventajas Soluciones elegantes y fáciles de entender.
Soluciones más simples.
7
Desventajas Si la profundidad de la recursión (es decir, el número de invocaciones recursivas) es muy grande puede traer problemas de memoria RAM y se produce un desbordamiento. Ocurre cuando el problema es demasiado grande para la memoria RAM o cuando no converge al valor del punto de parada (error de diseño de la solución)
8
Programación Orientada a Objetos
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.