Fibonacci recursivo con memoización
La memoización conserva resultados ya calculados.
¿Qué es Fibonacci recursivo con memoización?
La memoización conserva resultados ya calculados.
Evita recalcular términos de Fibonacci.
¿Cuándo se utiliza?
- Comprender algoritmos y estructuras de datos.
- Observar cada paso y tratar casos límite.
- Comparar tiempo de ejecución y memoria.
Código de ejemplo
main.py
from functools import cache
@cache
def fibonacci(number):
if number < 2:
return number
return fibonacci(number - 1) + fibonacci(number - 2)
print(fibonacci(10))
Resultado esperado
55
Cómo funciona
La caché reduce el tiempo exponencial ingenuo a O(n), con memoria O(n).
Cambia los valores y ejecuta el programa en el compilador Python online de CodeUtility sin instalar Python.
Ejercicios prácticos
Modifica las entradas y prueba casos límite antes de usar conjuntos de datos mayores.
- Prueba una entrada vacía, un elemento y duplicados.
- Muestra el estado después de cada paso.
- Compara el rendimiento con otra solución.