
动态规划精讲
文章平均质量分 69
枪法精准的男人
优秀是一种习惯!关注我的公众号:一起学4G,学习更多有趣的知识。
展开
-
线性动态规划简介
线性动态规划主要特点是状态的推导是按照问题规模 i 从小到大依次推过去的,较大规模的问题的解依赖较小规模的问题的解。这里问题规模为 i 的含义是考虑前 i 个元素 [0…i] 时问题的解。状态定义:dp[n] := [0…n] 上问题的解状态转移:dp[n] = f(dp[n-1], …, dp[0])从以上状态定义和状态转移可以看出,大规模问题的状态只与较小规模的问题有关,而问题规模完全用一个变量 i 表示,i 的大小表示了问题规模的大小,因此从小到大推 i 直至推到 n,就得到了大规模问题原创 2021-01-04 11:03:42 · 521 阅读 · 0 评论 -
动态规划与其它算法的关系
动态规划与其它算法的关系这一章我们将会介绍分治和贪心算法的核心思想,并与动态规划算法进行比较。分治解决分治问题的时候,思路就是想办法把问题的规模减小,有时候减小一个,有时候减小一半,然后将每个小问题的解以及当前的情况组合起来得出最终的结果。例如归并排序和快速排序,归并排序将要排序的数组平均地分成两半,快速排序将数组随机地分成两半。然后不断地对它们递归地进行处理。这里存在有最优的子结构,即原数组的排序结果是在子数组排序的结果上组合出来的,但是不存在重复子问题,因为不断地对待排序的数组进行对半分的时候原创 2021-01-04 10:34:33 · 359 阅读 · 0 评论 -
动态规划背景
动态规划的背景动态规划(英语:Dynamic programming,简称 DP)是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划不是某一种具体的算法,而是一种算法思想:若要解一个给定问题,我们需要解其不同部分(即子问题),再根据子问题的解以得出原问题的解。应用这种算法思想解决问题的可行性,对子问题与原问题的关系,以及子问题之间的关系这两方面有一些要求,它们分别对应了最优子结构和重复子问题。最优子结构最优子结构规定原创 2021-01-03 21:23:38 · 817 阅读 · 0 评论