Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Memoization... o como hacer que nuestras funciones tengan memoria

Memoization... o como hacer que nuestras funciones tengan memoria

Kerry Pérez

July 05, 2017
Tweet

More Decks by Kerry Pérez

Other Decks in Technology

Transcript

  1. ¿Qué es Memoization? - Es una técnica sencilla que permite

    almacenar los resultados procesados por una función en un cache. - Las funciones ‘recuerdan’ los valores procesados siempre que los parámetros de entrada sean los mismos.
  2. public String heavyProcess(String param){ String result; if(cache.get(param) != null){ result

    = cache.get(param); } else{ result = //process param cache[param] = result; } return result; }
  3. A tener en cuenta - Para aprovechar bien esta técnica

    el resultado de la función solo debe depender de los parámetros de entrada. Si necesitas utilizar algún otro dato debes pasarlo a la función como parámetro. - El tiempo en procesar la información debe ser mayor al tiempo que toma recuperar la información de los valores almacenados.