Dynamic Programming is one of the most important algorithmic domains and is equally challenging. With practice and correct way of thinking, you can master it easily.
If a problem takes O(2^N) time to search a solution among possible solutions, Dynamic Programming has the potential to reduce it to O(N) or polynomial time thereby reducing the search space.
We will attempt one problem every day in this week and analyze the problem deeply.
Our schedule: • Day 1: Introduction + Longest Increasing Subsequence • Day 2: 2D version of Day 1 problems • Day 3: Dynamic Programming on Strings • Day 4: Modified version of Day 3 problems • Day 5: Dynamic Programming for String patterns (Longest Palindromic Substring) • Day 6: Modified version of Day 4 problems • Day 7: 2 conditions on 1 data point
On following this routine sincerely, you will get a strong hold on Dynamic Programming and will be able to attempt interview and real-life problems easily.
#7daysOfAlgo: a 7-day investment to Algorithmic mastery.
Aditya Chatterjee is an Independent Algorithmic Researcher, Software Developer and Technical Author. He is the founding member of OPENGENUS, an organization focused on changing Internet consumption.
Since 1990s, he has been involved, actively, in the growth of Computing in Japan. Major computational advances have been made in the last 3 decades which reformed not only education infrastructure but also the competitive programming community.
He has collaborated with over 500 researchers and has mentored over 3000 learners personally across the Globe through the Internship program at OPENGENUS.
I would say I did get a good hold on Dynamic Programming with this book.
For example, the problems for Day 1 and 2 are modified versions of each other and going through it in this systematic manner helped me in understanding how to approach problems. Similar connections are found in other problems in the book.
What I liked the most in the book is the identification of problems as Mathematical problems, String problems and Geometric Problems. I do understand that this is only a way of looking at problems but it did make the problems very insightful.
The problems and the explanations are eye-opening. I would like to read a longer book in this format.