Cómo usar memoization en Clojure – Resuelto

La memoización es una técnica para optimizar el rendimiento de funciones recursivas al almacenar en caché los resultados de llamadas anteriores. En Clojure, podemos usar la función memoize para hacerlo fácilmente.

Uso básico de memoize

Podemos memoizar una función usando memoize:

(def fib (memoize (fn [n] (if (< n 2) n (+ (fib (- n 1)) (fib (- n 2))))))) (fib 10) ;; 55