# Dynamic Programming for Solving Problems

Learn how to use Dynamic Programming Approach to solve the problems.

Language: english

Note: 4.0/5 (30 notes) 12,513 students

Instructor(s): Sujithkumar MA

Last update: 2021-07-03

## What you’ll learn

• Dynamic Programming
• Recursion
• Memoization

## Requirements

• Yes, A basic knowledge in Programming

## 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

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!

## Who this course is for

• Beginner Programmers
• Beginner Software Developing Aspirants

## Course content

• Introduction to Dynamic Programming
• 1. Introduction to Dynamic Programming
• Concepts of Dynamic Programming
• Fibonacci Series using Dynamic Programming
• 2. Intuitive Understanding on DP using Fibonacci Series
• 3. Coding the Fibonacci Series using DP in C++
• 0/1 Knapsack Problem
• 4. Complete explanation of Knapsack Problem
• 5. Coding the Knapsack problem in C++
• Longest Common Subsequence
• 6. DP Approach to solve the Longest Common Subsequence Problem
• 7. Coding the Longest Common Subsequence Problem in C++
• Frog’s staircase to Heaven Problem
• 8. Explanation of Frog’s staircase to Heaven Problem
• 9.Coding the Frog’s staircase to Heaven Problem
• Grid Walking Problem
• 10. Breaking down the Grid Walking Problem
• 11. Coding the Grid Walking Problem in C++
• 12. Breaking down the Stock Buy Sell Problem
• 13. Applying Dp to the Stock Buy Sell Problem
• 14. Coding the Stock Buy Sell Problem in C++
• The Coin Change Making Problem
• 15. The Coin Change Problem
• 16. Coding the coin change making problem
• Range sum making queries without updates
• 17. Range sum making queries without updates
• 18. Coding the Range sum making queries without updates