Learn how to use Dynamic Programming Approach to solve the problems.
What you will learn
Dynamic Programming
Recursion
Memoization
Description
Welcome to my course on ‘Dynamic Programming for Solving Problems’
This course is specifically designed for those who have started Programming a few months ago. You are expected to know the basics of Programming like Conditional Statements, Loops etc. just to understand the implementation part. Yet, It is not going to be an integral part. Understanding the approach of Dynamic Programming will be our primary focus. We will be implementing the algorithm we have derived, in C++.
The problems that we will be solving in this course are:
1. 0-1 Knapsack Problem (A Complete Explanation having a 1 hour video)
2. Fibonacci Series using Dynamic Programming
3. Longest Common Subsequence Problem
4. Frog’s Staircase to Heaven
5. Grid Walking Problem
6. Stock Buy Sell Problem
7. The Coin Change Problem
8. Range Sum Making Queries without updates.
Dynamic programming is both a mathematical optimization method and a computer programming method. If sub-problems can be nested recursively inside larger problems, so that dynamic programming methods are applicable, then there is a relation between the value of the larger problem and the values of the sub-problems. In the optimization literature this relationship is called the Bellman equation.
There are two ways in which we can apply the paradigm of Dynamic Programming:
1. Top down Approach
2. Bottom up Approach
What are you waiting for? Start Learning the course now!
Content