# data[].attributes.body
Técnica donde una función se llama a sí misma para resolver un problema, dividiéndolo en subproblemas pequeños.

# data[].attributes.body
Alumnos:

Dulce Maria Hernandez Cervantes

Ángel Yael Téllez Ortiz

Matriculas:

202430459

202461096

Materia: Programación Avanzada II

NRC: 45476

Profesora: Elvia Rios

Carrera: ING. en Ciencia de Datos

Facultad: Facultad en Ciencias de la Computación

fecha: 07-05-25

Trabajo: Padlet . Archivos_ recursividad

# data[].attributes.body
1. Cerinza, N. G. (s. f.). FAEDIS. Recuperado de http://virtual.umng.edu.co/distancia/ecosistema/odin/odin_desktop.php?path=Li4vb3Zhcy9pbmdlbmllcmlhX2luZm9ybWF0aWNhL2VzdHJ1Y3R1cmFfZGVfZGF0b3MvdW5pZGFkXzIv

2. Coding Together ES. (2023, 25 octubre). RECURSIVIDAD🤯! No le tengas miedo aquí te doy algunos TIPS [Archivo de vídeo]. Recuperado de https://www.youtube.com/watch?v=gUDOPWwY0s0

3. Khan Academy. (s. f.). Recuperado de https://es.khanacademy.org/computing/computer-science/algorithms/recursive-algorithms/a/recursion

4. Llamas, L. (2024, 23 noviembre). Qué es y cómo usar las funciones recursivas. Recuperado de https://www.luisllamas.es/programacion-funciones-recursivas/

5. Mauricio, D. (2016). Recursividad. www.academia.edu. Recuperado de https://www.academia.edu/25531204/Recursividad

6. NetMentor. (s. f.). Recursividad en programación. Recuperado de https://www.netmentor.es/entrada/Recursividad-programacion

7. Recursividad –  acervo para el mejoramiento del aprendizaje de alumnos de  ingeniería, en Inteligencia Artificial. (s. f.). Recuperado de https://virtual.cuautitlan.unam.mx/intar/?page_id=185

# data[].attributes.body
Cuando una función llama a sí misma directamente dentro de su propio código

# data[].attributes.body
Cuando una función se llamada a sí misma de forma indirecta, a través de otras funciones

# data[].attributes.body
Una función que realiza una única llamada a sí misma cada vez que se ejecuta

# data[].attributes.body
1. Código más claro para estructuras recursivas
La recursividad resulta especialmente útil en el manejo de estructuras de datos recursivas como árboles, grafos o listas enlazadas. Por ejemplo, un nodo de un árbol puede tener hijos que también son nodos, lo cual se modela naturalmente con recursión.

2. Facilita el modelado jerárquico
En patrones como el Composite, donde un objeto puede contener otros objetos del mismo tipo, la recursividad permite recorrer estructuras anidadas sin complicaciones adicionales.

3. Mejor encapsulamiento
Al usar recursión dentro de clases, cada objeto puede ser responsable de resolver su parte del problema. Esto se alinea perfectamente con el principio de responsabilidad única.

4. Integración con el polimorfismo
Métodos recursivos pueden aprovechar el polimorfismo para comportarse de forma diferente según el tipo del objeto (por ejemplo, en estructuras heterogéneas).

5. Soluciones elegantes para problemas matemáticos
Problemas como el factorial, la serie de Fibonacci, la torre de Hanoi, entre otros, se resuelven de forma muy elegante y natural mediante recursión.

# data[].attributes.body
1. Uso intensivo de la pila de llamadas
Cada llamada recursiva ocupa memoria en la pila. Si las llamadas son demasiadas o no están bien controladas, puede causar un desbordamiento de pila (stack overflow).

2. Bajo rendimiento en algunos casos
Algunas soluciones recursivas, como la serie de Fibonacci sin memoización, son ineficientes comparadas con sus equivalentes iterativos.

3. Complejidad en la depuración
El flujo de ejecución de una función recursiva puede ser difícil de seguir y depurar, especialmente si las llamadas se anidan profundamente.

4. Puede dificultar el mantenimiento
Para desarrolladores no familiarizados con recursión, el código puede parecer menos intuitivo que una solución iterativa, dificultando su comprensión y modificación.

5. No siempre es la mejor opción
En muchos casos, una solución iterativa es más simple, eficiente y segura. Usar recursión innecesariamente puede complicar el código.

# data[].attributes.body
La recursividad en POO es una herramienta poderosa y elegante, especialmente cuando se trabaja con estructuras de datos jerárquicas o problemas naturalmente recursivos. Sin embargo, debe usarse con precaución y solo cuando aporta claridad o eficiencia, ya que puede introducir problemas de rendimiento y mantenimiento si se aplica sin justificación.

# data[].attributes.attachment_link.title
RECURSIVIDAD🤯! No le tengas miedo aquí te doy algunos TIPS