当前位置: 首页 > news >正文

算法之贪心算法

定义

总是做出当前最好的选择,期望通过局部最优选择得到全局最优的解决方案。

适用标准

  1. 贪心选择性质。
    原问题的整体最优解可以通过一系列局部最优的选择得到。这种选择依赖于已做出的选择,不依赖于未做出的选择。贪心算法解决的问题,在程序运行过程中无回溯过程。
  2. 最优子结构性质。
    一个问题的最优解包含其子问题的最优解。

求解步骤

  1. 贪心策略。
    根据求解目标,选择当前最优的一个。
  2. 局部最优解。
    根据贪心策略,一步步得到局部最优解。
  3. 全局最优解。
    所有局部最优解,合成原问题的最优解,

示例

给你一堆苹果,每个苹果重量不同[90, 120, 100, 160, 90, 80, 90, 100],你能吃500的苹果,求,最多吃多好个。

  1. 贪心策略,每次吃剩余苹果中重量最小的那个
  2. 局部最优解。
    • 第1个吃80,还能吃420
    • 第2个吃90,还能吃330
    • 第3个吃90,还能吃240
    • 第4个吃90,还能吃150
    • 第5个吃100,还能吃50
    • 剩余苹果中最小的为100,吃不了,结束
  3. 全局最优解
    最多吃5个苹果,依次为80,90,90,90,100

参考《算法训练营》

http://www.lryc.cn/news/93074.html

相关文章:

  • Maven 基础
  • 算法刷题-哈希表-两数之和
  • kotlin学习(一)基本概念、数据对象类型、控制流程、空值检验、类与接口
  • 【Linux】Docker部署镜像环境 (持续更新ing)
  • Jtti:如何打开云服务器的8082端口
  • 有关 string 类的练习(下)
  • XuperChain搭建+报错+注意事项
  • 【伏羲八卦图】(PythonMatlab实现)
  • ruoyi数据权限学习
  • WPF中实现动态导航
  • day16 | 104.二叉树的最大深度、111.二叉树的最小深度、 222.完全二叉树的节点个数
  • Spring Boot + Vue3前后端分离实战wiki知识库系统<八>--分类管理功能开发二
  • Python入门(十八)类(一)
  • c# 从零到精通-定义一个结构
  • 检信ALLEMOTION非接触式心理情绪测评系统
  • 20道嵌入式经典面试题(附答案)
  • python学习-代码调试器
  • 第十一章 综合推理
  • 嵌入式开发之设置寄存器中指定位
  • 第十章 数学相关
  • 数据结构——串(字符串)
  • Seata服务端的启动过程 学习记录
  • Log4J
  • 【零基础学机器学习 5】机器学习中的分类:什么是分类以及分类模型
  • 目标检测算法:Faster-RCNN论文解读
  • 基于Python的接口自动化-Requests模块
  • Vue框架中监测数组变化的方法
  • PHP isset()函数使用详解,PHP判断变量是否存在
  • 2021~2022 学年第二学期《信息安全》考试试题(A 卷)
  • 通俗讲解元学习(Meta-Learning)