Memoization - Backtracking / Aggregation and Memoization

Prereq: Backtracking

Memoization is a fancy word for a simple concept (so is the case for a lot of things we learn in school). It means saving the previous function call result in a dictionary and reading from it when we do the exact same call again. And no I didn't spell it wrong. The word is meant to mean writing down on a "memo".

This is a companion discussion topic for the original entry at