浅谈动态规划法与贪心法和回溯法的联系
来源:互联网 发布:人种与长相 知乎 编辑:程序博客网 时间:2024/05/19 13:17
首先,这些方法所要解决的问题,一般都是决策问题。而贪心法一般是来求解最优问题的,而且他们其实都是在对问题的状态空间树进行搜索,在这个状态空间树中搜索最佳的路径以便求出最优策略。而贪心法是从上到下只进行深度搜索的,也就是说它是一口气走到黑的,一口气吃成胖子的,它的代价取决于子问题的数目,也就是树的高度,每次在当前问题的状态上作出的选择都是1,也就是说,它其实是不进行广度搜索的,这也造成了它的一个缺点:它得出的解不一定是最优解,很有可能是近似最优解。而动态规划法在最优子结构的前提下,从状态空间树的叶子节点开始向上进行搜索,并且在每一步都根据叶子节点的当前问题的状况作出选择,从而作出最优决策,所以她的代价就是子问题的个数和可选择的数目,所以它求出的解一定是最优解。回溯法是从上到下进行深度搜索,如果深度搜索没有进行到底而不满足决策函数了,那么不好意思,请回去,然后再从最近的可以岔开的地方选择另一条路,继续之前的深度搜索,如果搜索到底,那么再通过for循环进行广度搜索。所以它也是深度搜索和广度搜索并行的。求出的解也一定是最优解。
0 0
- 浅谈动态规划法与贪心法和回溯法的联系
- 浅谈动态规划法与贪心法和回溯法的联系
- 动态规划和回溯法的异同
- 【动态规划】【贪心】动态规划与贪心的联系
- 动态规划与分治法的区别和联系
- 浅谈动态规划,贪婪,回溯算法联系
- 贪心法与动态规划
- 分治,动态规划,贪心,回溯法,分支界限法
- 贪心法和动态规划
- 五类常见算法小记 (递归与分治,动态规划,贪心,回溯,分支界限法)
- 动态规划与贪心算法的区别与联系
- 动态规划与贪心算法的区别与联系
- 分治法、动态规划与贪心算法
- 动态规划、分治法与贪心算法的区别
- 动态规划、分治法与贪心算法的区别
- 动态规划、分治法与贪心算法的区别
- 贪心法,分治法和动态规划
- 复习五大算法:分治法、动态规划算法、贪心算法、回溯法和分支限界法
- 最大子数组(The maximum-subarray problem)
- 分治法
- Ogre中实现换装系统
- Search a 2D Matrix - Leetcode
- 新年的我
- 浅谈动态规划法与贪心法和回溯法的联系
- That Nice Euler Circuit - POJ 2284 欧拉公式
- Java学习笔记7
- hdu 最短路径
- 重造字符实现插入表情
- 进制位数
- 距离变换
- C/C++开源项目
- 学习 NAV PowerShell之部署Microsoft Dynamics NAV