For some reason, lately I’ve been very interested in refreshing old concepts from algorithms and data structures that were a little rusty. Together with these old concepts also came some new concepts and techniques which I’ve never heard about before. But I will address them on separate posts. On this post I wanted to talk about Dynamic Programming. If you ever took an algorithms university course then you have probably heard about it.