动态规划和贪心算法的区别

如题所述

如下:

贪心法是每一步的最优解就是整体的最优解。0-1背包是属于动态规划,每一步的解不一定导致整体的最优解。

对于你问“什么样的题用0-1背包问题作”就是需要你自己做题来体会了。如果全局的最优解可以用分布的最优解求出来,就用贪心,如果不是,就动态规划(0-1背包属于这类)。

合并果子问题(可以自己去网上找哈~)就是典型的贪心,0-1背包问题就属于典型动态规划。

贪心算法特性:

贪心算法的关键不在于想到,而在于正确性的证明。要证明一个贪心算法是正确的,需要证明我们可以把一个最优解逐步转化为我们用贪心算法所得到的解。

而解不会更差,从而证明贪心算法得到的解和最优解是一样好的(显然,最优解不可能更好)。而要证明一个贪心算法是错误的,只需要找到一个反例就可以了。

动态规划和贪心算法都是一种递推算法,
均有局部最优解来推导全局最优解,

贪心算法:

动态规划算法:

贪心算法与动态规划。

每次拿能拿的最大的,就是贪心。

但是一定注意,贪心得到的并不是最优解,也就是说用贪心不一定是拿的最少的张数。

温馨提示:内容为网友见解,仅供参考
无其他回答

动态规划和贪心算法的区别
动态规划和贪心算法的区别 1、动态规划算法中,每步所做的选择往往依赖于相关子问题的解,因而只有在解出相关子问题时才能做出选择。而贪心算法,仅在当前状态下做出最好选择,即局部最优选择,然后再去解做出这个选择后产生的相应的子问题。2、动态规划算法通常以自底向上的方式解各子问题,而贪心算法则...

动态规划算法与贪心算法的异同
1、算法不同。贪心算法问题的最优解可以通过一系列局部最优的选择来达到,它仅在当前状态下做出最好选择,而动态规划的选择往往依赖相关子问题的解。2、都是一种递推算法。动态规划法与分治法和贪心法类似,它们都是将问题实例归纳为更小的、相似的子问题,并通过求解子问题产生一个全局最优解。

动态规划和贪心算法的区别
贪心法是每一步的最优解就是整体的最优解。0-1背包是属于动态规划,每一步的解不一定导致整体的最优解。对于你问“什么样的题用0-1背包问题作”就是需要你自己做题来体会了。如果全局的最优解可以用分布的最优解求出来,就用贪心,如果不是,就动态规划(0-1背包属于这类)。合并果子问题(可...

动态规划算法与贪心算法的异同
1、不同点:贪心算法是一种贪心的策略,每一步都采用局部最优的决策,最终得到全局最优解,动态规划则是通过将原问题分解为子问题来求解的。2、相同点:两者都有最优子结构,以及贪心选择策略。

简述贪心,递归,动态规划,及分治算法之间的区别和联系
区别:一、作用不同 1、贪心算法:把子问题的解局部最优解合成原来解问题的一个解。2、递归算法:问题解法按递归算法实现。如Hanoi问题;数据的结构形式是按递归定义的。如二叉树、广义表等。3、动态规划:动态规划算法通常用于求解具有某种最优性质的问题。4、分治算法:可以再把它们分成几个更小的子...

贪心法和动态规划法的区别
贪心法又称贪婪算法,是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题他能产生整体最优解或者是整体最优解的近似解。动态规划是运筹学...

大学课程《算法分析与设计》中动态规划和贪心算法的区别和联系?
对于,大学课程《算法分析与设计》中动态规划和贪心算法的区别和联系这个问题,首先要来聊聊他们的联系:1、都是一种推导算法;2、将它们分解为子问题求解,它们都需要有最优子结构。这两个特征师门的联系。然后,下面来说说他们的差别:贪心算法需要每一步的最优解必须包含前一步的最优解,前一步的最...

电脑鼠两种算法法则
具体如下:1、贪心算法:贪心算法是一种简单而常用的算法,它的基本思想是在每一步选择中都采取当前状态下最优的选择,以期望最终能够达到全局最优。2、动态规划算法:动态规划算法是一种更加复杂和高效的算法,它通过将问题拆分成若干个子问题,并且保存子问题的解,从而避免了重复计算。

动态规划和贪心算法的区别
虽然两者都有最优子结构的性质,但是在解决子问题的时候,动态规划可以有多种决策,但是贪心算法只能有一种决策。

分析用动态规划和贪心算法求解背包问题的差异
动态规划本质是以空间换时间,算出了所有可行解的值域。而贪心算法,每次选则最优的,而结果未必最优。举个简单例子。背包能装8kg,有3个物品,分别为3kg,4kg,5kg 动态规划,是计算,3+4, 3+5,得出解,最大的是3+5=8kg 贪心算法,是选择,第一次选最大的:5kg<8kg,第二次选则剩下的最大...

相似回答
大家正在搜