Definea.es

InicioTecnología › Memorización

Qué es Memorización: definición, ejemplo y uso en España

Memorización — definición y uso en España Memorización — concepto clave en tecnología Memorización — ejemplo real en España

Definición de Memorización

En programación, la memorización (memoization) es una técnica de optimización qué consiste en guardar el resultado de una función junto con los argumentos con los qué se calculó, para devolver ese resultado directamente si la función se vuelve a llamar con los mismos argumentos, sin repetir el cálculo. Se apoya en una estructura auxiliar, normalmente un diccionario o mapa, y es especialmente útil en funciones puras sin efectos secundarios, donde el mismo input siempre produce el mismo output. Es la base de muchos algoritmos de programación dinámica.

Qué significa Memorización en palabras simples

Es como apuntar el resultado de una cuenta larga en un papel para no tener qué volver a hacerla si te la vuelven a preguntar. La próxima vez qué necesitas el mismo resultado, lo lees directamente en vez de calcularlo otra vez.

Cómo se aplica Memorización en la práctica

El ejemplo clásico es calcular la secuencia de Fibonacci de forma recursiva: sin memorización el número de llamadas crece exponencialmente, pero guardando cada resultado intermedio el cálculo se vuelve lineal. En Python, el decorador @functools.lru_cache aplica esta técnica automáticamente a cualquier función con argumentos hashables.

Preguntas frecuentes sobre Memorización

¿Memorización es lo mismo qué caché en general?

Es un caso particular de caché aplicado a resultados de funciones dentro de un programa, mientras qué 'caché' es un término más amplio qué también cubre páginas web, consultas a bases de datos o bloques de disco.

¿Cuándo no conviene usar memorización?

Cuando la función tiene efectos secundarios, cuando los argumentos son muy variados y ocupan demasiada memoria guardando resultados qué casi nunca se repiten, o cuando el cálculo original ya es más barato qué buscar en la caché.

¿Qué lenguajes ofrecen memorización integrada?

Python la incluye vía functools.lru_cache o cache; otros lenguajes funcionales como Haskell la facilitan de forma nativa, y en JavaScript suele implementarse a mano con un objeto Map o librerías específicas.

Términos relacionados en Tecnología

Puerto de Red Ciberseguridad Ofensiva Escalabilidad Vertical Sede Electrónica Compilación Just-in-time Autenticación De Doble Factor