Dynamic Programming
What you'll learn
- After the course you will have complete understanding of Dynamic Programming.
- You will be able to figure out when this algorithm need to be applied.
- You will learn to find time complexity of Dynamic Programming solutions.
- All that would be left on your part is to practice hard and achieve excellence in it.
Requirements
- Knowledge of recursion.
- Prior experience with high level programming languages like C/C++/Java.
- Knowledge of bitmasking and bitwise operation is required for learning DP with bitmasking.
Description
In this course, you will learn about the famous optimisation technique of Dynamic Programming. You will learn the basics of writing a Dynamic Programming Solution and how to find time complexity of these solutions. We will consider a number of examples to help you understand better. These examples are divided into three categories : 1-Dimensional,2-Dimensional and Bitmasking Problems. For each of the category we will have 2 different problems.
1-Dimensional Problems
- Nth Fibonacci Term
- Longest Increasing Subsequence
2-Dimensional Problems
- Longest Common Subsequence
- Longest Palindromic Subsequence
Bitmasking Problems
- Travelling Salesman Problem
- Assignment Problem
After this course, all that would be left on your part is practice. So let's join me in this course.
Who this course is for:
- Anyone who fulfil required skill set.
- Anyone who strive to learn new algorithms or wish to prepare this topic for coding interviews should take this course.
Instructor
I am a SDE at Amazon India. I have around 6 years of programming experience. I started my programming journey with learning C/C++ and soon i moved to explore Data Structure and Algorithms. For around 3-4 years i worked on expanding my knowledge base in DS and Algorithms and their applications. Now i am exploring other areas of programming.