# data[].attributes.wish_content.attachment_props.question
¿Qué tipo de recursividad se caracteriza por tener más de una llamada a sí misma dentro del cuerpo de la función?

# data[].attributes.body
Benemérita Universidad Autónoma de Puebla

Ing. en Ciencias de la Computación

Programación avanzada

NRC :45448

Sección: 007

Recursividad

Profesora: Elvia Ríos González

Edgar Alonso Minor Acoltzi 202438211

Juan Manuel García Hernandez 202434394

# data[].attributes.wish_content.attachment_props.question
¿Qué es la recursividad en programación?

# data[].attributes.wish_content.attachment_props.poll_choices[].choice_text
Una técnica que evita el uso de funciones.

# data[].attributes.wish_content.attachment_props.poll_choices[].choice_text
 Una forma de repetir código usando únicamente bucles.

# data[].attributes.wish_content.attachment_props.poll_choices[].choice_text
Una técnica donde una función se llama a sí misma para resolver un problema.

# data[].attributes.body
NetMentor. (2019, 24 agosto). Recursividad en programación. https://www.netmentor.es/entrada/Recursividad-programacion. Recuperado 30 de abril de 2025, de https://www.netmentor.es/entrada/Recursividad-programacion

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

Galindo Suárez, J. F. & UMNG. (2017). Recursividad. Recuperado 30 de abril de 2025, de http://virtual.umng.edu.co/distancia/ecosistema/odin/odin_desktop.php?path=Li4vb3Zhcy9pbmdlbmllcmlhX2luZm9ybWF0aWNhL2VzdHJ1Y3R1cmFfZGVfZGF0b3MvdW5pZGFkXzIv

Sánchez Guerrero, L. (s. f.). LUDA UAM-Azc. Recuperado 30 de abril de 2025, de https://aniei.org.mx/paginas/uam/CursoAA/curso_aa_09.html

Ixbalanque, D. (2024, 1 abril). ¿Qué es la recursividad ? ASIMOV Ingeniería S. de R.L. de C.V. Recuperado 30 de abril de 2025, de https://asimov.cloud/blog/programacion-5/que-es-la-recursividad-265

Jiménez, J. C. (2020, 30 octubre). Ventajas y desventajas de la recursividad. Estructura de Datos. Recuperado 30 de abril de 2025, de https://estructurasdedatosjimenez.wordpress.com/2020/10/30/ventajas-y-desventajas-de-la-recursividad/

López, B. (2020). ESTRUCTURAS DE DATOS ORIENTADAS a OBJETOS – pseudocódigo y aplicaciones en C#.NET (1.a ed.). Alfaomega. https://nlaredo.tecnm.mx/takeyas/Apuntes/Estructura%20de%20Datos/Apuntes/06-Recursividad.pdf

# data[].attributes.body
La técnica de recursividad consiste en llamar una función se llama a sí para resolver un problema. Este proceso se lleva a cabo hasta alcanzar un caso base (que se pueda resolver directamente), al final se combinan todas las soluciones para obtener la solución final.

# data[].attributes.body
1. Natural para estructuras jerárquicas: Se adapta perfectamente a estructuras como árboles, donde cada nodo puede contener subnodos (hijos).

2. Código más limpio y legible: Se evita la lógica de bucles anidados complejos.

3. Reutilización con métodos de instancia: En POO, puedes aplicar recursividad como métodos de objetos (ej. un nodo que se llama a sí mismo).

4. División en problemas más simples : Permite dividir problemas complejos en subproblemas más simples naturalmente.

# data[].attributes.headline
Ejemplo con árbol binario (solo imprime los valores)

# data[].attributes.subject
Ejemplo con árbol binario (solo imprime los valores)

# data[].attributes.attachment_link.title
Qué es RECURSIVIDAD en PROGRAMACIÓN - programación básica #16

# data[].attributes.body
1. Ineficiencia

2. Sobrecarga de memoria asociada a la llamadas a subalgoritmos

3. Dificultad de depuración: Es más complejo rastrear errores porque hay muchas llamadas activas al mismo tiempo.

4. En general, una función recursiva toma más tiempo en generarse que una iterativa.

# data[].attributes.body
1. Para problemas que no son naturalmente jerárquicos (como bucles simples o conteos), la iteración suele ser más clara y eficiente

2. Cuando se requiere mayor eficiencia en la ejecución y el manejo de memoria, especialmente para problemas que involucran bucles o grandes conjuntos de datos.

# data[].attributes.body
Directa: Cuando el código F tiene una sentencia que involucra a F.

Indirecta: Cuando la función F involucra una función G que invoca a la vez una función H, y así sucesivamente, hasta que se involucra la función F. Por ejemplo el algoritmo de Par o impar.

Simple: donde solo aparece una llamada recursiva y se transforma en algoritmos interactivos.

Múltiple: Se da cuando hay más de una llamada a sí misma dentro del cuerpo de la función, resultando más difícil de transformar a iterativa.

Anidada: En algunos de los parámetros de la llamada recursiva, hay una nueva llamada a sí misma.