What all things I have to learn first before starting dynamic programming. I know data structures, but I don’t know applying divide and conquer,greedy etc… Please help. Can I start DP directly?

# Dynamic Programming prerequisites?

**randomizer**#2

you can start by Dynamic Programming , See dynamic programming relies on realizing what the smaller instance of problem is , A solution is built upon previously computed solutions of smaller instance of the same problem you should know how can you apply divide and conquer strategy for a particular problem . Greedy simply means an algorithm that picks the most optimal choices first many greedy algorithm will **benefit** from dynamic programming approach .

So you can start DP directly basic idea DP is very easy , but it takes many years of practice to master it .