Dynamic Programming

via Udemy

Go to Course: https://www.udemy.com/course/dynamic-progg/

Overview

In this course, you will learn about the famous optimization algorithm of Dynamic Programming. Dynamic programming is a critical algorithm for solving many problems in practical time limits that would otherwise be of exponential time complexity with brute-force/recursive approach. Dynamic programming is such a critical optimization algorithm that it find its application in many real-world problems and that is the reason i believe coding rounds of many company interviews and coding competitions do emphasize on testing the ability of candidates to solve these problems. You may be surprised to know that even Neural Networks in machine learning leverages Dynamic Programming along with Chain Rule (of calculus). 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 better understand on how to solve these problems. These examples are divided into three categories: 1-Dimensional,2-Dimensional and Bit-masking Problems. For each of the category we will have 2 different problems. Here is the course overview:1-Dimensional Problems1. Nth Fibonacci Term2. Longest Increasing Subsequence2-Dimensional Problems1. Longest Common Subsequence2. Longest Palindromic SubsequenceBit-masking Problems1. Travelling Salesman Problem2. Assignment ProblemThrough this course, i am trying to give you a mental model for approaching dynamic programming problems. After this course, all that would be left on your part is to practice problems on coding platforms like Spoj, LeetCode, Codeforces, Codechef etc. So please join me in this course and have fun.

Skills

Reviews