Dynamic Programming

Dynamic programming is a style of algorithm that breaks calculations into smaller pieces, storing the results and incrementally solving problems.

It's named poorly.