动态规划 递归 和 贪心

Posted cxl-blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动态规划 递归 和 贪心相关的知识,希望对你有一定的参考价值。

一.动态规划

适合用动态规划的问题的基本特征 

参考 https://zhidao.baidu.com/question/561484516800579644.html

1.最优子结构

母问题的最优解包含其子问题的最优解,即具有最优子结构,即子问题最优时,母问题通过优化一定能获得最优解

2.子问题重叠

子问题本质上和母问题是一样的,只是问题的输入参数不一样

3.问题存在边界

子问题在一定情况下就不存在子问题了

4.子问题相互独立

各子问题在求解最优解时是相互独立的,即本子问题的求解和其他平行子问题是不相干的,平行问题都得到解决后,选择权交给母问题时,它才会考虑各子问题之间的关系,进行运算求解

二.递归

在函数或子过程的内部,直接或者间接地调用自己的算法

三.贪心

参考 https://www.jianshu.com/p/ab89df9759c8

在对问题求解时,总是做出在当前看来最好的选择,即不从整体最优上加以考虑,仅考虑局部最优解

1.贪心算法基本思路

(1)建立数学模型来描述问题

(2)把求解的问题分成若干个子问题

(3)对每个子问题求解,得到子问题的局部最优解

(4)把子问题的解局部最优解合成原来问题的一个解

 

以上是关于动态规划 递归 和 贪心的主要内容,如果未能解决你的问题,请参考以下文章

贪心算法,递归算法,动态规划算法比较与总结

背包问题Ⅱ——是动态规划还是贪心算法?

动态规划和分治法,贪心算法以及递归的再一次深刻理解和体会

LeetCodeLeetCode之跳跃游戏——动态规划+贪心算法

算法复习分治算法动态规划贪心算法

递归详解