An Introduction to Dynamic Programming

This posts gives an introduction to the vast and important concept of dynamic programming. This will give anyone the tools needed to start writing complex DP algorithms.