Memoization — Visualizador de algoritmos

Paso 1:Calculando fib(7) con memoización. La tabla almacena resultados. Sin memo: 41 llamadas. ¡Con memo: solo 8!

Memoization

Intermedio

La memoización es una técnica de optimización que almacena los resultados de llamadas a funciones costosas y devuelve el resultado cacheado cuando se repiten las mismas entradas.

Sin memoización (Fibonacci):

fib(5) llama a fib(4) + fib(3)
fib(4) llama a fib(3) + fib(2) — ¡fib(3) se calcula OTRA VEZ!
Exponencial: O(2^n) tiempo

Con memoización:

Cada valor se calcula UNA SOLA VEZ y se cachea
Llamadas posteriores con la misma entrada retornan al instante
Lineal: O(n) tiempo, O(n) espacio

Idea clave: intercambiar espacio por tiempo

  • Almacenar resultados en un diccionario/arreglo
  • Antes de calcular, verificar si el resultado ya existe
  • Aceleración drástica para subproblemas superpuestos

Algoritmos relacionados

Preguntas frecuentes

¿Qué es Memoización?
La memoización es una técnica de optimización que almacena los resultados de llamadas a funciones costosas y devuelve el resultado cacheado cuando se repiten las mismas entradas.
¿Cuál es la complejidad de Memoización?
Memoización se explica con visualización paso a paso, incluyendo su complejidad temporal y espacial cuando aplica.
¿Para quién es este visualizador de Memoización?
La visualización de Memoización está pensada para nivel intermedio, dentro de la categoría Conceptos. Ideal para estudiantes, entrevistas técnicas y repaso práctico.
¿Qué algoritmos relacionados hay con Memoización?
En la misma categoría (Conceptos) puedes explorar: Big O Notation, Recursion, Two Pointers. Todos tienen visualización interactiva.