五大常用算法 | 贪心算法
发布时间
阅读量:
阅读量
贪心算法原理与应用
一、基本概念:
所谓贪心算法,是指在对问题进行求解时,总是基于当前状态作出最优的选择。换句话说,这种策略并不从整体最优的角度出发,其选择结果仅能保证在特定条件下的局部最优解。
贪心算法并不存在统一的算法结构,其核心在于如何确定合适的贪心策略。需要特别指出的是,并非所有问题都适用于贪心算法,所选择的策略必须满足无后效性这一特征。也就是说,在某一状态之后的发展不会对之前的状态造成影响,仅与当前所处的状态相关。
因此,在应用贪心策略时,必须对其是否具备无后效性进行深入分析和判断。
二、贪心算法的基本思路:
- 构建数学模型以描述所要解决的问题。
- 将整个问题划分为若干个子问题。
- 针对每个子问题进行求解,并获取其对应的局部最优解。
- 将各个子问题的局部最优解整合起来,从而形成原问题的整体解决方案。
三、贪心算法适用的问题
适用贪心策略的前提是:通过局部最优的选择能够最终实现全局最优的结果。
实际上,在多数情况下,并不适合采用贪心算法来解决问题。通常来说,在判断某个问题是否适用于该方法时,可以通过选取该问题中的几个具体实例数据来进行分析和验证。
四、贪心算法的实现框架
从一个初始可行解开始;
while(能够继续向目标迈进)
{
利用可行的方法选择出一个
全部评论 (0)
还没有任何评论哟~
