![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 85
蛟~
这个作者很懒,什么都没留下…
展开
-
动态规划算法
参考博文1 基本思想: 把一个较复杂的问题按照阶段划分,分解为若干个较小的局部问题,然后按照局部问题的递推关系,依次作出一系列决策,直至整个问题达到总体最优的目标。 动态规划四部曲: 确定状态: 最后一步:最优策略中使用的最后一枚硬币值ak; 化成子问题:最少的硬币数量拼出更小的面值M-ak; 转义方程: f[X]=min{f[X-2]+1,f[X-5]+1,f[X-7]+1} 初始条件和边界条件: f[0]=0,如果不能拼出Y,f[Y]=正无穷 计算顺序: f[0],f[1],f[2]…… 例题1原创 2021-05-31 22:44:35 · 191 阅读 · 0 评论 -
递归与分治
首先需要知道的是: 递归是算法的实现方式,分治是算法的设计思想。 迭代是不断地循环过程,递归是不断地调用自身。 递归 直接或间接调用自身的算法。 用函数自身给出定义的函数称为递归函数。 分治法产生的子问题往往是原问题的较小末世,这就是为使用递归技术提供了方便。原问题与子问题的唯一区别就是输入的规模不同。 递归的弊端就是会不断的消耗内存中的栈空间,并且有相关的值拷贝动作,函数不断压栈,导致资源不断消耗。 分治的过程 先将规模变小 递归处理小规模问题 将小规模问题合并为原始的问题的解 需要注意的是:原创 2021-05-30 11:23:54 · 568 阅读 · 0 评论