La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

2.1 Recursividad El hecho de que una función pueda llamarse a sí misma.

Presentaciones similares


Presentación del tema: "2.1 Recursividad El hecho de que una función pueda llamarse a sí misma."— Transcripción de la presentación:

1 2.1 Recursividad El hecho de que una función pueda llamarse a sí misma

2 Una acción es recursiva cuando se define en
función de sí misma. Las estructuras de datos recursivas sirven para construir estructuras dinámicas y complejas tales como las pilas, árboles y grafos.

3 Definición: Un algoritmo se dice que es recursivo cuando contiene en su definición una o más llamadas a si mismo. Todo algoritmo recursivo tendrá al menos una instrucción alternativa que contemplará dos casos bien diferenciados: ƒ Caso directo (o caso base): Es el caso en el cual el problema tiene una solución directa. Es el último caso que se ejecuta en la recursión. ƒ Caso recursivo: Es donde se relaciona el resultado del algoritmo con resultados de casos más simples. Estos casos más simples corresponderán con las llamadas recursivas. La condición de la instrucción alternativa que selecciona el caso directo se denomina condición de parada.

4 Ejemplo: Función factorial
function factorial ($natural) { // This guarantees that the function will return 1 (even with 0 as argument) $result = 1; if ($natural > 0) { // Here we're applying the second formula: n * (n - 1)! $result = $natural * factorial(($natural - 1)); } // return the acumulated result return $result; Ejecutar Factoriales.class

5 El proceso de ejecución de un subprograma recursivo consiste en una cadena de generación de llamadas (suspendiéndose los restantes cálculos) y reanudación de los mismos al término de la ejecución de las llamadas

6 El concepto de recursión aparece en varias situaciones de la vida cotidiana, aunque en muchas no sabemos que estamos en presencia de este concepto, por ejemplo, sacar fotocopias de fotocopias, tomar una fotografía a otra fotografía Un razonamiento recursivo tiene dos partes: La base. No es recursiva y es el punto tanto de partida como de terminación de la definición La regla recursiva de construcción.

7 Entonces: Base: La secuenciación, iteración condicional y selección son estructuras válidas de control que pueden ser consideradas como enunciados. Regla recursiva: Las estructuras de control que se pueden formar combinando de manera válida la secuenciación iteración condicional y selección también son válidos. Un conjunto de objetos está definido recursivamente siempre que: (B) algunos elementos del conjunto se especifican explícitamente (R) el resto de los elementos del conjunto se definen en términos de los elementos ya definidos, donde (B) se llama base (R) se llama cláusula recursiva

8 Observaciones: 1. El procedimiento se llama a si mismo 2. El problema se resuelve, resolviendo el mismo problema pero de tamaño menor 3. La manera en la cual el tamaño del problema disminuye asegura que el caso base eventualmente se alcanzará. Aplicaciones La recursividad es un método poderoso usado en inteligencia artificial, su poder es que algunos conceptos complejos pueden expresarse en una forma simple. Las fórmulas recursivas pueden aplicarse a situaciones tales como prueba de teoremas, solución de problemas combinatorios, algunos acertijos, etc.

9 Cuando la definición de un subprograma sólo
contiene una llamada recursiva, entonces se dice que la recursividad es lineal. Si es mas de una llamada recursiva, entonces se dice que la recursividad es múltiple.


Descargar ppt "2.1 Recursividad El hecho de que una función pueda llamarse a sí misma."

Presentaciones similares


Anuncios Google