Deber 3. Ejercicios de Recursividad
Deber 3. Ejercicios de Recursividad
Deber 3. Ejercicios de Recursividad
Integrantes:
Kevin Rivadeneira
Marcela Montalvo
Danny Cabrera
Marco Teórico:
Algoritmos recursivos
Los algoritmos recursivos se basan en la metodología de llamar repetidamente la propia función en que
están definidos, y son de gran utilidad en multitud de campos en la informática. Se dice que un
algoritmo es recursivo si dentro del cuerpo del algoritmo y de forma directa o indirecta se realiza una
llamada a él mismo.
¿Qué es la recursividad?
Es una técnica de programación que busca resolver un problema sustituyéndolo por otros problemas de
la misma categoría, pero más simples.
Importante:
Al escribir un algoritmo recursivo, debe establecerse de algún modo cuando debe dejar de llamarse a sí
mismo, o de otra forma se repetiría indefinidamente. Para ello, se establece una condición de salida
llamada caso base.
Todo algoritmo recursivo debe incluir al menos un caso base y garantizar que se ejecuta en algún
momento para evitar la recursividad infinita.
Se da cuando la llamada
recursiva no es la última
operación realizada dentro de
la función (sin tener en cuenta
la sentencia devolver)
[ CITATION Beg18 \l 12298 ]
1. Implementar un programa que permita la impresión de los elementos de un
array de forma recursiva e iterativa. Calcular el tiempo de ejecución de cada
una de las formas.
Código:
package Ej1;
Resultados:
El algoritmo iterativo tiende a ser más eficiente que el algoritmo recursivo ya que posee un orden que lo hace
más eficiente.
Resultados:
Código:
Iterativo
package Negocio;
import java.util.Scanner;
public class Iterativo {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Ingrese el primer número");
int num1 = scan.nextInt();
System.out.println("Ingrese el segundo número");
int num2 = scan.nextInt();
Código:
package ejercicio3;
import java.util.Scanner;
Resultados
Conclusiones:
Los algoritmos iterativos tienden a ser más eficientes que los algoritmos recursivos según un
problema en particular, ya que poseen un orden que los hace más eficientes
Por medio del análisis de tiempos de ejecución donde claramente los algoritmos iterativos se
realizan en menor tiempo que los recursivos siendo así estos más eficientes.
Se debe emplear algoritmos recursivos cuando no se tengan que realizar múltiples llamados al
mismo método ya que resultan ser ineficientes.
Referencias
[1] M. García, «Algoritmos y Diagramación,» 2018. [En línea]. Available:
http://www.profmatiasgarcia.com.ar/uploads/tutoriales/Algoritmos_con_recursividad.pdf. [Último acceso:
15 08 2021].
[2] M. Peralta, «Formación desarrollando,» 2017. [En línea]. Available:
http://formacion.desarrollando.net/cursosfiles/formacion/curso_454/deda-03.pdf. [Último acceso: 15 08
2021].
[3] B. Martinez, «Repositorio Jaume I,» 2018. [En línea]. Available:
http://repositori.uji.es/xmlui/bitstream/handle/10234/119828/tema9.pdf?sequence=1&isAllowed=y. [Último
acceso: 15 08 2021].