Want to create interactive content? It’s easy in Genially!

Get started free

RECURSIVIDAD. Concepto y Ejemplos

Max Barrón

Created on January 8, 2024

Start designing with a free template

Discover more than 1500 professional designs like these:

Smart Presentation

Practical Presentation

Essential Presentation

Akihabara Presentation

Pastel Color Presentation

Visual Presentation

Relaxing Presentation

Transcript

Recursividad

wow

concepto de recursividad, su clasificación y ejemplos de implementación en Python..

¡Vamos!

Maximiliano Barrón Flores 304A

Concepto de Recursividad:

La recursividad es una técnica en la que una función se llama a sí misma para resolver instancias más pequeñas de un problema hasta alcanzar una condición de base que no requiere más llamadas recursivas. Esto ayuda a abordar problemas de manera más elegante y concisa.

Recursividad

  • La recursividad también se aplica en la definición y manipulación de estructuras de datos, como listas enlazadas y árboles.
  • Es adecuada para problemas que se pueden dividir en subproblemas más pequeños del mismo tipo. Sin embargo, no es la mejor opción para todos los escenarios de programación.
  • En Python, las funciones pueden llamarse a sí mismas de manera sencilla. Sin embargo, es importante tener en cuenta el límite de recursividad, que es la cantidad máxima de llamadas recursivas permitidas antes de que se genere un error.
  • La recursividad es una herramienta poderosa y elegante en programación, pero su uso debe ser equilibrado para garantizar que el código sea eficiente y fácilmente comprensible.

Clasificación de Recursividad Recursividad Directa: La función se llama a sí misma directamente. Recursividad Indirecta: La función A llama a la función B, y la función B llama de nuevo a la función A (o a otras funciones).

+ info

Recursividad Simple: La función se llama a sí misma solo una vez. Se puede cambiar a una función con ciclo iterativo. Recursividad Múltiple o Anidada: La función puede llamarse a sí misma más de una vez en su cuerpo. La recursividad puede hacer que el código sea más claro y elegante, pero a veces las soluciones iterativas pueden ser más eficientes en términos de uso de memoria y velocidad de ejecución.

Ejemplo 2: Fibonacci

Ejemplo 1: Factorial

Ejemplo 3: Suma de Números

Conclusiones

En conclusión, la recursividad es una técnica fundamental en programación que ofrece soluciones elegantes y concisas para ciertos problemas. Aquí algunas conclusiones clave acerca de la recursividad:

  • Elegancia y Claridad:
  • La recursividad puede hacer que el código sea más claro y fácil de entender al abordar problemas de manera natural y dividiéndolos en subproblemas más simples.
  • Facilita la Resolución de Problemas:
  • Algunos problemas, como el cálculo de factorial, la secuencia de Fibonacci y el recorrido de árboles, son naturalmente adecuados para ser resueltos de manera recursiva.
  • Casos Base Cruciales:
  • Cada función recursiva debe tener un caso base bien definido para evitar la recursión infinita. Este caso base indica cuándo detener las llamadas recursivas.

Maximiliano Barrón Flores 304A

Un dato a destacar sobre la recursividad simple es que, aunque puede proporcionar soluciones elegantes y concisas para ciertos problemas, también puede tener un impacto en el uso de la memoria. Cada llamada recursiva agrega una nueva entrada en la pila de llamadas, y si hay demasiadas llamadas recursivas antes de alcanzar el caso base, podría conducir a un desbordamiento de pila (stack overflow).