Unidad II:
Recursividad
Ensayo Recursividad
Estructura de datos
Ingeniería en sistemas computacionales
Profesor: Héctor Carlos Valadez Moyeda
Alumno: Luis Javier Cabral Valdez
Fecha: 10 de octubre de 2021
Introducción:
En este ensayo veremos el tema de la recursividad y como es que esta funciona, sus
principales características y las consideraciones que debemos de tomar en cuenta a la hora
de hacer uso de algún procedimiento recursivo.
2.1 Definición
La recursividad es la propiedad que tienen los procedimientos y funciones de llamarse a si
mismos para resolver un problema.
Permite describir un número infinito de operaciones de cálculo mediante un programa
recursivo finito sin implementar de forma explícita estructuras repetitivas.
2.2 Procedimientos recursivos
Una función recursiva es una función que se llama a sí misma, ya sea directa o indirecta a
través de otra función.
En Java los métodos pueden llamarse a sí mismos. Si dentro de un método existe la llamada
a sí mismo decimos que el método es recursivo. Cuando un método se llama a sí mismo, se
asigna espacio en la pila para las nuevas variables locales y parámetros.
Al volver de una llamada recursiva, se recuperan de la pila las variables locales y los
parámetros antiguos y la ejecución se reanuda en el punto de la llamada al método.
Consideraciones con procedimientos recursivos:
Condiciones de limitación: Sin al menos una condición que se pueda cumplir sin errores, el
procedimiento corre un alto riesgo de ejecutarse en un bucle infinito.
Uso de memoria: La aplicación tiene una cantidad limitada de espacio para las variables
locales. Cada vez que un procedimiento se llama a sí mismo, usa más de ese espacio para
copias adicionales de sus variables locales. Si este proceso continúa indefinidamente, al final
se produce un StackOverflowException error.
Eficacia: Casi siempre puede sustituir un bucle por recursión. El rendimiento puede ser
mucho mejor sin llamadas recursivas.
Pruebas: Si escribe un procedimiento recursivo, debe probarlo con mucho cuidado para
asegurarse de que siempre cumple alguna condición de limitación.
Ejemplo simple de un método recursivo:
La función repetir es recursiva porque dentro de la función se llama a sí misma, Pero cuando
ejecuta este programa se bloqueará y generará una excepción: "Exception in thread "main"
[Link]"
2.3 Ejemplos de casos recursivos:
Buscar un elemento de un array de forma recursiva:
Invertir palabra de forma recursiva:
Calcular la factorial de un numero de manera recursiva:
Conclusión:
Los métodos recursivos pueden ser muy útiles para sustituir a las estructuras de repetición
en ciertos casos, es un tema que puede complicarse al inicio, pero después de analizarlo
bien es sencillo entender y comprender como es que un método se llama a si mismo
dentro de su mismo bloque de código, mientras tengamos una limitación dentro del
método recursivo el programa se ejecutara de manera correcta, todo esto con el fin de
evitar un bucle a la hora de compilar y este nos arroje una excepción.
Bibliografía:
• [Link]
• [Link]
df
• [Link]
recursividad-java/
• [Link]
recursivos/[Link]
•