贪心算法概念

前言

一种在问题求解过程中总是做出当前看来最优选择的策略。这个"最优选择"是在某个特定意义上的局部最优解,而不是全局最优解。

贪心算法并非对所有问题都能得到整体最优解,其关键在于贪心策略的选择。所选取的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。

核心要素:

贪心选择

是指通过一系列局部最优的选择,达到问题的整体最优解。这是贪心算法可行的第一个基本要素,也是它与动态规划算法的主要区别。贪心选择采用从顶向下、以迭代的方式做出相继选择,每做一次贪心选择就将所求问题简化为一个规模更小的子问题。

要确定一个具体问题是否具有贪心选择的性质

我们必须证明每一步所作的贪心选择最终能得到问题的最优解。通常可以首先证明问题的一个整体最优解是从贪心选择开始的,而且作了贪心选择后,原问题简化为一个规模更小的类似子问题。然后,用数学归纳法证明,通过每一步贪心选择,最终可得到问题的一个整体最优解。

最优子结构

是指一个问题的最优解包含其子问题的最优解时,称此问题具有最优子结构性质。
运用贪心策略在每一次转化时都取得了最优解。
问题的最优子结构性质是该问题可用贪心算法或动态规划的重要条件之一。

相关推荐

  1. 贪心算法概念

    2024-03-14 12:46:07       40 阅读
  2. 贪心算法

    2024-03-14 12:46:07       45 阅读
  3. 贪心算法

    2024-03-14 12:46:07       27 阅读
  4. 计算机算法贪心算法

    2024-03-14 12:46:07       66 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-14 12:46:07       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-14 12:46:07       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-14 12:46:07       87 阅读
  4. Python语言-面向对象

    2024-03-14 12:46:07       96 阅读

热门阅读

  1. 数据挖掘案列分析---LightGBM实战贷款违约预测

    2024-03-14 12:46:07       35 阅读
  2. Docker基础—CentOS中卸载Docker

    2024-03-14 12:46:07       34 阅读
  3. Linux下platform驱动简介

    2024-03-14 12:46:07       42 阅读
  4. SystemUI 解析

    2024-03-14 12:46:07       32 阅读
  5. 【MySQL】的相关面试题(三)

    2024-03-14 12:46:07       44 阅读
  6. 22.3 分布式

    2024-03-14 12:46:07       45 阅读
  7. [Ubuntu 20.04] QT屏幕与触摸旋转

    2024-03-14 12:46:07       39 阅读
  8. Linux 信号量的使用

    2024-03-14 12:46:07       41 阅读
  9. Mysql将datetime数据转为Data/Char

    2024-03-14 12:46:07       35 阅读
  10. linux内核网络揭秘《二》“每日读书”

    2024-03-14 12:46:07       46 阅读
  11. 高防服务器能够抵御哪些攻击?

    2024-03-14 12:46:07       44 阅读
  12. C语言自学笔记10----C语言数组

    2024-03-14 12:46:07       37 阅读
  13. SpringBoo和vue项目blob传参未生效

    2024-03-14 12:46:07       42 阅读
  14. 蚓链助新零售企业快速实现数字化转型

    2024-03-14 12:46:07       44 阅读
  15. 用python实现人生重开模拟器游戏

    2024-03-14 12:46:07       45 阅读