What you'll learn:
- Dynamic Programming
- Step by step approach to solve any Dynamic Programming problem.
- Detailed solutions with code in Java and Python to over 15 popular Dynamic Programming questions.
- Recursion
- Backtracking
- Algorithms
- Data structures
Implementing dynamic programming algorithms is more of an art than just a programming technique. Dynamic programming problems are also very commonly asked in coding interviews but if you ask anyone who is preparing for coding interviews which are the toughest problems asked in interviews most likely the answer is going to be dynamic programming.
In fact, dynamic programming problems are very easy to solve once you understand the theory in depth and know certain tricks. Most of the dynamic programming problems share some common elements and if you know how to identify those things you can come up with solutions easily.
In this course, you will learn
1. The in-depth theory behind dynamic programming
2. Recursion and backtracking techniques
3. A step by step approach to come up with dynamic programming solutions to a given problem from scratch
4. Applying step by step approach for one-dimensional dynamic programming problems with detailed examples
5. Applying step by step approach for multi dimensional dynamic programming problems with detailed examples
6. How to analyze the time and space complexities of recursive solutions as well as dynamic programming solutions