Algoritmos en Python

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

Ejecutar código →
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.

  1. Prueba una entrada vacía, un elemento y duplicados.
  2. Muestra el estado después de cada paso.
  3. Compara el rendimiento con otra solución.
Ejecutar en el IDE de Python →