news 2026/8/2 5:02:12

初学贪心算法

作者头像

张小明

前端开发工程师

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/8/1 22:32:28

【Java毕设源码分享】基于springboot+vue的的某火锅店运营管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

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

作者头像 李华
网站建设 2026/8/2 0:16:50

提升jscope采样率的方法探索:实测经验分享

如何让 jscope 跑出 100kSPS?一次实战调试的深度复盘在做电机控制的时候,你有没有遇到过这种情况:PI 参数怎么调都不稳,怀疑是电流环响应太快,串口打印的数据却只有几千赫兹,根本看不出瞬态细节&#xff1f…

作者头像 李华
网站建设 2026/8/1 4:53:45

如何实现35%性能跃升?硬件调校工程师的实战操作手册

如何实现35%性能跃升?硬件调校工程师的实战操作手册 【免费下载链接】Universal-x86-Tuning-Utility Unlock the full potential of your Intel/AMD based device. 项目地址: https://gitcode.com/gh_mirrors/un/Universal-x86-Tuning-Utility 在硬件性能优化…

作者头像 李华
网站建设 2026/8/2 1:27:00

纪念币预约自动化工具实战攻略:告别手忙脚乱的智能预约方案

还在为抢不到心仪的纪念币而烦恼吗?🤔 每次预约都像在和时间赛跑,手忙脚乱填写信息、焦急等待验证码、还要担心网络卡顿...这些问题现在都有了完美的解决方案! 【免费下载链接】auto_commemorative_coin_booking 项目地址: htt…

作者头像 李华
网站建设 2026/8/1 13:24:59

WinDbg使用教程:从零实现内核驱动调试

与内核对话:手把手实现 Windows 内核驱动调试你有没有试过写一个驱动,刚加载就蓝屏?系统瞬间重启,错误代码一闪而过,日志里只留下一行DRIVER_IRQL_NOT_LESS_OR_EQUAL—— 然后你盯着屏幕发愣,完全不知道从哪…

作者头像 李华
网站建设 2026/8/1 17:06:12

WeChatPad:解锁微信多设备登录的终极解决方案

WeChatPad:解锁微信多设备登录的终极解决方案 【免费下载链接】WeChatPad 强制使用微信平板模式 项目地址: https://gitcode.com/gh_mirrors/we/WeChatPad 在当今多设备协同办公的时代,微信单设备登录的限制已成为许多用户的痛点。WeChatPad作为一…

作者头像 李华