Memoization is a technique used in computing to speed up programs.
This is accomplished by memorizing the calculation results of processed input such as the results of function calls.