algoframe

贪心算法详解

About 405 wordsAbout 1 min

algochat-algo

2024-02-11

今天在刷算法的时候,遇到一个问题需要用到贪心算法来求解,这里就详细了解一下什么是贪心算法?什么情况下会用到贪心算法?顺带举几个贪心算法典型的例子来说明。

说白了,贪心算法可以理解为一种特殊的动态规划问题,拥有一些更特殊的性质,可以进一步降低动态规划算法的时间复杂度。 -- labuladong

参考 贪心算法之区间调度问题

什么是贪心算法?

贪心算法主要的目的就是寻求最优解问题,这种方法模式一般将求解过程分成若干个步骤,每一个步骤都应用贪心原则,选取当前状态下最好/最优的选择

为什么要用贪心算法?

我们知道贪心算法的目的,那样的话,我们就清楚在什么情况下使用谈心算法,像是背包问题(背包重量一定,选择最有价值的物品放入到背包中),或者是找零问题(在一定面额的硬币中选择最少得硬币来凑出一个指定的金额)。

解决贪心算法过程

1、从某个初始解开始

2、采取迭代的过程,当可以向目标前进一步是,就根据局部最优解策略,得到一部分解,缩小问题规模

3、将所有解综合起来