Dynamic Programming for Solving Problems
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
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!
Who this course is for:
- Beginner Programmers
- Beginner Software Developing Aspirants
Instructor
Languages - C, C++, Python, Verilog, System Verilog
Hardware - Digital Logic Design, Computer Architecture, VLSI Design, Analog Electronics, Signal Processing, Embedded Systems
Software - Data Structures & Algorithms, Operating Systems, Database Management Systems, Computer Networks, Machine Learning, Deep Learning.
Tools - Xilinx Vivado, Matlab, Multisim, Altium, Arduino IDE, TinkerCAD, Tanner EDA, Cadence Virtuoso
Boards - Arduino, 8051, TIVA, Raspberry Pi, NodeMCU
Areas of Interest - Artificial Intelligence, Digital Design, Software Engineering, Algorithms