What you'll learn:
- Importance of dynamic programming
- How to use the top-down approach of dynamic programming (memoization)
- How to use the bottom-up approach of dynamic programming (tabulation)
- How to solve almost any dynamic programming problem
WARNING: The instructor is not currently available to answer questions regarding this course
Dynamic programming is one of the most important and powerful algorithmic techniques that can be used to solve a lot of computational problems, it's a fundamental technique to learn to strengthen your algorithms and problem solving skills
But, a lot of students find hard times understanding dynamic programming and being able to apply it to solve problems, if you are in this situation, this course is made for you!
Why you should take this course:
Covers all what you need to know to start using dynamic programming to solve problems (introduction, recursion, how to recognize a dynamic programming problem, memoization, tabulation...)
Shows you a technique to solve almost any dynamic programming problem
Has an active instructor that is ready to answer to your questions and doubts in case you don't understand something
Explains the time and space complexity analysis of each solved problem
Includes 20 different interesting dynamic programming problems to practice on with the ability to test your Python solution on different test cases before watching the solution
Practice problems are:
Paths in matrix
House robber
Longest common subsequence
Gold mine
Edit distance
Ways to climb
Shortest common supersequence
Coin change
0-1 Knapsack
Subset sum
Longest increasing subsequence
Ways to decode
Rod cutting
Interleaving string
Square matrix of ones
Partition problem
Sorted vowel strings
Minimum cost for tickets
Word break
Matrix chain multiplication
If you have any other question concerning this course that you want to ask before enrolling, you can send me a message on Instagram at @inside.code
Enjoy!