A4 VMS 2062973

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

UNIVERSIDAD AUTONOMA DE NUEVO

LEON
FACULTAD DE INGNIERIA MECANICA Y ELECTRICA
ACTIVIDAD NO.4
DOCENTE: JESSICA NATALIA MARTÍNEZ BALDERAS
GRUPO: 003
MATERIA: ALGORTIMOS COMPUTACIONALES

Nombre del estudiante Matrícula Carrera


Vanessa Mendoza Silva 2062973 IAS
INTRODUCCIÓN
Los algoritmos recursivos son una poderosa técnica en el mundo de la informática y la programación que se basa
en el principio de "llamarse a sí mismo". En esencia, un algoritmo recursivo es un procedimiento que se divide en
subproblemas más pequeños y resuelve cada uno de ellos de manera recursiva hasta llegar a un caso base. Esta
técnica se utiliza para abordar una variedad de problemas complejos de manera elegante y eficiente.

La recursión es especialmente útil en situaciones en las que un problema puede descomponerse en instancias
idénticas, pero de menor tamaño. Esto permite escribir algoritmos más simples y concisos, lo que a menudo
resulta en un código más claro y mantenible. Algunos ejemplos comunes de algoritmos recursivos incluyen la
búsqueda en árboles y gráficos, la clasificación rápida (QuickSort) y la recursión de cola en lenguajes de
programación como Python.

Un ejemplo clásico de algoritmo recursivo es el cálculo del factorial de un número, donde el factorial de un
número entero positivo 'n' se define como el producto de todos los enteros positivos desde 1 hasta 'n'.

Sin embargo, es importante tener en cuenta que el uso incorrecto de la recursión puede llevar a problemas de
eficiencia ya un consumo excesivo de recursos de memoria, por lo que es fundamental comprender bien cuándo
y cómo aplicar esta técnica. En este sentido, los algoritmos recursivos son un tema apasionante y esencial en el
mundo de la informática que permite resolver problemas complejos de manera elegante y eficiente.
ALGORITMO RECURSVIO

¿Qué es un algoritmo recursivo?


Un procedimiento o función se
dice recursivo cuando en su
ejecución se llama directa o
indirectamente a sí mismo. Esta
llamada depende al menos de
una condición que actúa como
condición de corte que provoca
la finalización d la recursión.
DISEÑO RECURSIVO
Todo algoritmo recursivo tendrá amenos una instrucción alternativa que contemplará dos casos bien
diferenciados:
• Caso directo (o 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 simpes corresponderá con las llamadas recursivas. La condición de la instrucción
alternativa que selecciona el caso directo se denomina condición de parada.
PROPIEDADES DE LOS ALGORITMOS RECURSIVOS
Idea básica de los algoritmos recursivos
“Para resolver un problema, resuelve un subproblema que sea una instancia más
pequeña del mismo problema, y después usa la solución de esa instancia más
pequeña para resolver el problema original.”
Cuando calculamos n!, resolvemos el problema de calcular n! al resolver el
subproblema de calcular la factorial de un número menor, es decir, al calcular (n-
1), y después al usar la solución del subproblema para calcular el valor de n!.
Para que un algoritmo recursivo funcione, los subproblemas más pequeños
eventualmente deben llegar al caso base. Cuando calculamos n!, los subproblemas
se hacen más y más pequeños hasta que calculamos 0!. Se debe asegurar de que
eventualmente se llegue al caso base.
Podemos extraer la idea de la recursión en dos reglas
sencillas:
1. Cada llamada recursiva debe ser sobre una instancia
más pequeña del mismo problema, es decir, un
subproblema más pequeño.
2. Las llamadas recursivas eventualmente deben
alcanzar un caso base, el cual se resuelve sin más
recursividad.
CONCLUSIÓN
Los algoritmos recursivos son una poderosa técnica en la programación y la informática que se basa en la idea de
dividir un problema en subproblemas más pequeños y resolverlos de manera recursiva. Esta técnica se utiliza en una
amplia variedad de aplicaciones, desde la búsqueda en árboles binarios hasta la resolución de problemas matemáticos
complejos.
Una de las principales ventajas de los algoritmos recursivos es su elegancia y simplicidad. Permiten expresar soluciones
de manera concisa y comprensible, lo que facilita su implementación y mantenimiento. Además, los algoritmos
recursivos a menudo reflejan de manera natural la estructura del problema que están resolviendo, lo que los hace
intuitivos y fáciles de entender.
Sin embargo, los algoritmos recursivos también tienen limitaciones. Pueden ser menos eficientes en términos de
tiempo y espacio en comparación con enfoques iterativos, ya que cada llamada recursiva agrega un nuevo nivel de
ejecución a la pila de llamadas, lo que puede llevar a problemas de desbordamiento de pila en casos extremos. Por lo
tanto, es importante diseñar algoritmos recursivos de manera cuidadosa y considerar las implicaciones de
rendimiento.
En resumen, los algoritmos recursivos son una herramienta valiosa en el kit de herramientas de un programador, que
brinda elegancia y claridad en la resolución de problemas. Sin embargo, deben utilizarse con precaución y comprensión
de sus implicaciones en términos de rendimiento para garantizar que sean la elección adecuada para un problema
específico. Con la combinación adecuada de ingenio y cuidado, los algoritmos recursivos pueden ser una herramienta
poderosa para abordar una amplia gama de desafíos computacionales.
BIBLIOGRAFÍAS
• https://es.khanacademy.org/computing/computer-science/algorithms/recursive-
algorithms/a/properties-of-recursive-algorithms
• https://www.scribbr.es/citar/generador/folders/6cUoYpOkfrDjmGwagJzPOA/lists/1WqtCi5syEz5L072j8X
7BU/fuentes/7c23rcQ0Azm1HVkr5ekYPE/
• https://www.scribbr.es/citar/generador/folders/6cUoYpOkfrDjmGwagJzPOA/lists/1WqtCi5syEz5L072j8X
7BU/fuentes/1kqF4QNVaPvS8Z7UisGv0D/

También podría gustarte