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

贪心算法是动态规划的一个特例,动态规划是贪心算法的泛化

动态规划类似于穷举法,只是记录了之前的结果,不需要进行重复的计算,可以利用前边的结果(状态方程),一般复杂度比贪心高

贪心算法每次只考虑当前,不保证能得到全局最优,只保证当前最优,应用前一般需要证明,一般复杂度比较低

动态规划的例子:凑钱问题,dp[i] = min(dp[i-v1]+1,dp[i-v2]+1...)

贪心例子:股票第二题,也就是可以无限次交易,这时候只要考虑前后两天的情况,能赚就买卖,结果加上差价,不能赚就考虑下一次。

猜你喜欢

转载自www.cnblogs.com/stAr-1/p/8856121.html