0% encontró este documento útil (0 votos)
154 vistas10 páginas

Recursividad

Este documento presenta conceptos sobre recursividad como método recursivo, tipos de recursividad (directa e indirecta), y ejemplos de recursividad como el triángulo de Sierpinski, problema de Fibonacci, búsqueda binaria recursiva y suma de elementos de un vector recursivamente.

Cargado por

Jsjs Ne
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
154 vistas10 páginas

Recursividad

Este documento presenta conceptos sobre recursividad como método recursivo, tipos de recursividad (directa e indirecta), y ejemplos de recursividad como el triángulo de Sierpinski, problema de Fibonacci, búsqueda binaria recursiva y suma de elementos de un vector recursivamente.

Cargado por

Jsjs Ne
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

“Tecnología en desarrollo

De Sistemas de información y de software”

INTEGRANTES:
Oscar David Fonseca Pérez
CC: 1041971066 - CEL: 3046413008
Juan Camilo Castellanos Vega
CC: 1043295018 - CEL: 3207389394
Camilo Andrés Contreras Martínez
CC: 1007975567 - CEL: No registra

DOCENTE:

Cesar Gómez ---------------------- Estructura de Daros

CORPORACION UNIVERSITARIA RAFAEL NUÑEZ

Cartagena de Indias, D. T. y C.
Conceptos

• Recursividad

• Ventajas y desventajas

 Ejemplos teóricos
----------------------- El Triángulo de Sierpinski

----------------------- Problema de Fibonacci.

• Métodos recursivos

• Tipos de recursividad
----------------------- Recursividad directa
----------------------- Recursividad indirecta

• Resolución de problemas usando recursividad

• Ejemplos
Recursividad

Es una forma de especificar un proceso basado en su propia


definición. Un algoritmo recursivo es un algoritmo que expresa la
solución de un problema en
términos de una llamada a sí mismo. La llamada a sí mismo se
conoce como llamada recursiva. También llamada Recurrencia o
Recursión.

La recursividad es un concepto fundamental en matemáticas y en


computación.

Es una alternativa diferente para implementar estructuras de


repetición (ciclos). Los módulos se hacen llamadas recursivas.

Se puede usar en toda situación en la cual la solución pueda ser


expresada como una secuencia de movimientos, pasos o
transformaciones gobernadas por un conjunto de reglas no
ambiguas.

La recursividad se debe usar cuando sea realmente necesaria, es


decir, cuando no exista una solución iterativa simple. subproblemas
más pequeños, generalmente del mismo tamaño, resolver los
subproblemas y entonces combinar sus soluciones para obtener la
solución del problema original.
Ventajas

 La recursividad es una técnica de programación elemental


que permite que una función pueda llamarse asimismo desde
la misma función. La llamada a sí mismo se conoce como
llamada recursiva o recurrente.

 Se puede utilizar la recursividad como una alternativa a la


iteración.

 Mayor simplicidad del código en problemas recursivos.

 Posibilidad de “marcha atrás”: back tracking.

Desventajas

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

 Mayor uso de la pila de memoria

 Mayor tiempo en las llamadas.

 Estos dos inconvenientes se pueden agravar si se pasan


estructuras de datos muy grandes por valor, ya que implica
copiar estos datos en la pila de procedimientos.
Recursividad Ejemplo teóricos

El Triángulo de Sierpinski

Un ejemplo matemático de recursividad es el estudio de


fractales, por ejemplo, el Triángulo de Sierpinski, el cual es un
objeto geométrico en el que se repite el mismo patrón a diferentes
escalas y con diferente orientación.

La expresión fractal viene del latín fractus, que significa fracturado,


roto, irregular.
Problema de Fibonacci.

Otro ejemplo típico de una función recursiva es la serie Fibonacci.


Esta serie fue concebida originalmente como modelo para el
crecimiento de una granja de conejos (multiplicación de conejos)
por el matemático italiano del siglo XVI, Fibonacci.

La serie es la siguiente:
1,1,2,3, .5.8. 13. 21. 34 ...
Esta serie crece muy rápidamente; como ejemplo. el término 15 es
610.Si divides cualquier número en la secuencia de Fibonacci por el
anterior, por ejemplo, 55/34, o 21/13, y la respuesta siempre es
cercana a 1.61803. Y es por eso que la secuencia de Fibonacci
también es conocida como la secuencia dorada, pues ese 1,61803
es lo que se conoce como el número áureo.
Métodos Recursivos
 Un método (función o procedimiento) que puede
llamarse a sí mismo se llama método recursivo.

 La escritura de un método recursivo es similar a la


escritura de su homónimo no recursivo.

 El único requisito en un método recursivo es la


especificación de una condición de terminación
(caso base), la cual permita acabar con la
recursividad.

 La recursión puede ser utilizada como una alternativa


a la repetición o estructura repetitiva.

 La utilización de métodos recursivos es una


herramienta muy potente en algunas aplicaciones,
sobre todo científicas y matemáticas.

 El uso de recursión es particularmente idóneo para la


solución de aquellos problemas que pueden definirse
de modo natural en términos recursivos.

Tipos de Recursividad
Directa:
Es la más común, se da cuando una función se
llama a sí misma una o varias veces.

A llamar_a A

Indirecta:
Se da cuando una función es llamada de
manera indirecta, es decir, por medio de otra función.

A llamar_a B, в llamar_a A
Ejemplos de la recursividad
Java.

1. Búsqueda binaria recursiva.


● Caso base: Si el elemento central es el buscado, el elemento
está en la posición central.
● Caso base: si el elemento central no es el buscado y la lista tiene
sólo un elemento, el elemento no está.
● Caso general: si el elemento central el mayor que el buscado, se
Universidad Pontificia de Salamanca (Campus Madrid) Luis
Rodríguez Baena, Escuela Superior de Ingeniería y Arquitectura,
2012 47
● Caso general: si el elemento central el mayor que el buscado, se
realiza una búsqueda binaria en la parte izquierda de la lista.
● Caso general: si el elemento central es menor que el buscado se
realiza una búsqueda binaria en la parte derecha de la lista.
2. Realizar la suma de los elementos de un
vector.
Caso base: si el número de elementos del vector es 1, entonces la
suma es el elemento 1.
● Si el número de elementos es mayor que uno, la suma es el
elemento n + la suma de todos los elementos menos el último.

También podría gustarte