Saltar al contenido

Cómo crear una función de memoria

Posterior a consultar expertos en esta materia, programadores de diversas ramas y maestros hemos dado con la solución al problema y la plasmamos en este post.

Solución:

Creo que el truco principal para esto es crear un objeto que almacene argumentos que se hayan pasado antes como keys con el resultado de la función como valor.

Para memorizar funciones de un solo argumento, lo implementaría así:

var myMemoizeFunc = function (passedFunc) 
    var cache = ;
    return function (x) 
        if (x in cache) return cache[x];
        return cache[x] = passedFunc(x);
    ;
;

Entonces podría usar esto para memorizar cualquier función que tome un solo argumento, digamos, por ejemplo, una función recursiva para calcular factoriales:

var factorial = myMemoizeFunc(function(n) 
    if(n < 2) return 1;
    return n * factorial(n-1);
);

Eres capaz de añadir valor a nuestra información participando con tu veteranía en las aclaraciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *