Learn Dynamic Programming Essentials
What you'll learn
- Recursion, memoization
- Dynamic Programming - top down recursive approach and bottom up iterative approach
- Knapsack 0/1 and unbounded
- Rod Cutting problem
- Minimum number of coins for making change problem
- Maximum number of ways for making change coin problem
- Longest Common Subsequence
- Longest Common Substring
- Minimum number of insertion and deletions required to convert string A to string B
Requirements
- Some programming knowledge in any language such as C#, Java, C++, Python etc.
Description
Recursion is one of the most important concept in coding questions and serves as the foundation for Dynamic Programming, basically Dynamic Programming is improved recursion or recursion with memoization. If you don't understand the fundamental logic of solving DP problems then you will always be afraid of facing coding questions in any interview since these questions can be asked during any tech jobs interview.
Apart from teaching fundamental logic for solving DP problems in this course I am also teaching you some of the basic problems in DP and how other problems can be solved easily by deriving the solution from basic DP problems.
The best way to learn this course is to follow the course structure as it is and not skip or jump lectures. This is a fun course and by the end of this course you would have better understanding of what dynamic programming is and how to solve them.
The questions included are -
- Recursion
- Memoization
- Dynamic Programming - top down approach and bottom up approach
- Knapsack - top down recursive solution both without and with memoization
- Knapsack -bottom up Dynamic Programming iterative solution
- Rod Cutting problem
- Minimum number of coins for making change problem
- Maximum number of ways for making change coin problem
- Longest Common Subsequence - top down recursive solution both without and with memoization
- Longest Common Subsequence - bottom up Dynamic Programming iterative solution
- Longest Common Substring
- Minimum number of insertion and deletions required to convert string A to string B.
Who this course is for:
- Software developers, IT professionals, students who want to land tech jobs.
Instructor
I am a software professional with over 10 years of experience in software development & testing. I have worked extensively on synthetic monitoring solutions, payment solutions for small merchants, cloud solutions, websites, and OAuth. I have worked for clients like Microsoft and Visa Inc. My hobbies and interests are exploring new technologies, swimming, meditation and travelling to new places.