动态规划 递归 和 贪心

一.动态规划

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

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

1.最优子结构

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

2.子问题重叠

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

3.问题存在边界

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

4.子问题相互独立

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

二.递归

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

三.贪心

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

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

1.贪心算法基本思路

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

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

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

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

猜你喜欢

转载自www.cnblogs.com/cxl-blog/p/12496883.html