Dynamic Programming

所在平台: Udemy

课程主页: https://www.udemy.com/course/dynamic-progg/

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程简介:动态规划 在这门课程中,您将学习动态规划这一著名的优化算法。动态规划是解决许多问题的关键算法,它能够在实际时间限制内处理原本将具有指数时间复杂度的穷举或递归方法。动态规划在许多现实世界问题中具有广泛应用,这也是许多公司面试和编码比赛中强调考察候选人解决此类问题能力的原因。您可能会惊讶地发现,甚至在机器学习中的神经网络也利用动态规划和微积分的链规则。 您将学习如何编写动态规划解决方案的基础知识,以及如何计算这些解决方案的时间复杂度。我们将通过一系列示例帮助您更好地理解如何解决这些问题。这些示例被分为三类:一维问题、二维问题和位掩码问题。每类中我们将解决两个不同的问题: 一维问题: 1. 第 N 个斐波那契数 2. 最长递增子序列 二维问题: 1. 最长公共子序列 2. 最长回文子序列 位掩码问题: 1. 旅行推销员问题 2. 分配问题 通过这门课程,我希望能为您提供一个解决动态规划问题的思维模型。完成此课程后,您只需在 Spoj、LeetCode、Codeforces、Codechef 等编码平台上进行问题练习。因此,请加入我一起学习这门课程,享受其中的乐趣!

课程评论(0条)

课程详情

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.

课程标签

0人关注该课程

主题相关的课程