news 2026/6/24 2:51:24

初学贪心算法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
初学贪心算法

一、基本概念

  1. 核心思想
    局部最优 → 全局最优(通过每一步的贪心选择,希望达到全局最优解)

  2. 适用条件
    贪心选择性质:每一步的局部最优选择能导致全局最优解。
    最优子结构:问题的最优解包含子问题的最优解。

  3. 与动态规划的区别
    贪心算法不回溯,一旦做出选择就不再改变。
    动态规划会保存子问题的解,通常用于有重叠子问题和最优子结构,但贪心选择不成立的情况

二、经典问题类型与示例

1.区间问题

  • 区间调度(最大不相交区间)
    按结束时间排序,每次选择结束最早且不与已选区间重叠的区间。
  • 区间覆盖
    选择覆盖起点且结束最远的区间,逐步推进。

2.分配问题

  • 分配饼干
    将最小的饼干分配给胃口最小的孩子。
  • 任务调度
    按结束时间或耗时排序贪心。

3.背包问题(部分背包)

  • 价值/重量比降序贪心选择(仅适用于物品可分割的情况)。

4.哈夫曼编码

  • 每次合并频率最小的两个节点,构造最优前缀码。

5.最短路径(Dijkstra算法)

  • 每次选择当前距离起点最近的节点,更新邻接节点距离。

6.最小生成树

  • Prim算法:每次添加距离当前树最近的节点。
  • Kruskal算法:按边权从小到大添加,使用并查集避免环。

7.硬币找零问题

  • 在硬币面额具备贪心性质时(如人民币1、5、10元),从大到小选择。
  • 注意:并非所有面额体系都适用贪心(如{1, 3, 4}元找6元,贪心选4+1+1不如3+3)

三、贪心算法的局限性

  1. 不保证全局最优
    如果问题不具备贪心选择性质,贪心可能得到次优解(如一般背包问题不可分割时)。

  2. 需要问题具有特定结构
    必须仔细分析问题是否满足贪心条件。

  3. 证明困难
    有时贪心策略看似显然,但严格证明复杂

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 19:53:32

Windows右键菜单清理指南:3步打造清爽高效操作体验

Windows右键菜单清理指南:3步打造清爽高效操作体验 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 还在为右键菜单臃肿卡顿而烦恼吗?每次…

作者头像 李华
网站建设 2026/6/23 19:55:01

【Java毕设源码分享】基于springboot+vue的的医院排队叫号系统设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/6/23 19:46:22

纪念币预约神器:告别手速比拼的智能化抢购方案

还在为抢不到心仪的纪念币而苦恼吗?这款基于Python开发的纪念币预约工具彻底改变了传统的预约模式,让技术小白也能轻松掌握专业级的抢购能力。通过智能自动化技术,你将告别熬夜蹲守和手速比拼的时代。 【免费下载链接】auto_commemorative_co…

作者头像 李华
网站建设 2026/6/23 8:32:00

一文说清MOSFET工作状态的SPICE建模方法

从物理到仿真:深入理解MOSFET工作区与SPICE建模的底层逻辑你有没有遇到过这样的情况?在LTspice里搭好一个同步Buck电路,运行瞬态仿真后发现效率比预期高得离谱——开关损耗几乎为零、栅极波形干净利落,完全没有米勒平台。可一上实…

作者头像 李华
网站建设 2026/6/23 21:33:05

Open-AutoGLM实战指南(从零搭建AI模型工厂)

第一章:Open-AutoGLM实战指南(从零搭建AI模型工厂)环境准备与依赖安装 在开始构建AI模型工厂前,需确保本地或服务器环境已配置Python 3.9及PyTorch 1.12。推荐使用conda管理虚拟环境,以隔离项目依赖。创建独立环境&…

作者头像 李华
网站建设 2026/6/23 21:33:12

告别手忙脚乱:纪念币预约自动化工具让你的收藏之路更轻松

告别手忙脚乱:纪念币预约自动化工具让你的收藏之路更轻松 【免费下载链接】auto_commemorative_coin_booking 项目地址: https://gitcode.com/gh_mirrors/au/auto_commemorative_coin_booking 你是不是也经历过这样的场景?纪念币预约开始的那一刻…

作者头像 李华