Memoization is a technique for storing computed values in-memory. Essentially, it's a fancy name for in-memory cache.
Memoization is useful when you have potentially expensive or highly repetitive computations that need to be executed. Rather than re-running the computation on each iteration, your routine computes once and fetches already computed values from memory.