algo›frame
贪心算法详解
今天在刷算法的时候,遇到一个问题需要用到贪心算法来求解,这里就详细了解一下什么是贪心算法?什么情况下会用到贪心算法?顺带举几个贪心算法典型的例子来说明。
说白了,贪心算法可以理解为一种特殊的动态规划问题,拥有一些更特殊的性质,可以进一步降低动态规划算法的时间复杂度。 -- labuladong
参考 贪心算法之区间调度问题
什么是贪心算法?
贪心算法主要的目的就是寻求最优解问题,这种方法模式一般将求解过程分成若干个步骤,每一个步骤都应用贪心原则,选取当前状态下最好/最优的选择,
为什么要用贪心算法?
我们知道贪心算法的目的,那样的话,我们就清楚在什么情况下使用谈心算法,像是背包问题(背包重量一定,选择最有价值的物品放入到背包中),或者是找零问题(在一定面额的硬币中选择最少得硬币来凑出一个指定的金额)。
解决贪心算法过程
1、从某个初始解开始
2、采取迭代的过程,当可以向目标前进一步是,就根据局部最优解策略,得到一部分解,缩小问题规模
3、将所有解综合起来