** Memoization**

* Memoization* (or * memorization*)
is the technique of
saving previously calculated values of an expensive function *f(x)*.
If a new request to compute *f(x)* uses a value *x* that was used
previously, the value of *f(x)* can be retrieved from a table faster
than it could be recomputed.

Compare:

- caching
- common subexpression elimination