贪心算法

贪心算法 是一类构造性 算法,它在求解最优化问题的过程中始终只做局部最优的选择 ,并且不在以后对已经做出的选择进行回溯或修改 。使用贪心算法需要证明局部最优解 等于全局最优解

贪心可以说是算法的基础,几乎所有算法都蕴含了贪心的思想。同时,贪心更多是一种思想而不是具体的算法,且常常与别的算法配合使用,但也有如反悔贪心这种易单独出现的较为固定的套路,实际训练中更多以多刷题总结经验为主,这里重点讲解一下反悔贪心。

知识点

  • 贪心算法不能保证对所有问题都得到全局最优,除非你只是用于骗分,否则必须进行验证
  • 在内容是无序的时候,我们常常会进行一下排序之后进行贪心
  • 思考贪心时往往先从直觉出发,然后通过反证法证明没有解法更优或者可以通过反悔贪心进行修正

反悔贪心

反悔贪心 (也称为可反悔的贪心、反悔贪心算法)是一种改进的贪心算法策略,它在传统贪心算法的基础上增加了"反悔"机制,从而在某些问题上能得到更优的解。核心思想是传统贪心算法每一步都做出当前最优选择,且不可更改 。而反悔贪心允许我们在后续步骤中撤销之前的选择,替换为更优的决策,从而修正可能产生的局部最优错误。

实际运用中通常将当前的最优解先当作全局最优解,且使用优先队列 记录做过的选择,当之后有更好的选择时,替换当前队列中最不优的操作。

相关推荐
To_OC4 小时前
LC 1 两数之和:面试第一道必考题,暴力解法直接被面试官 pass
javascript·算法·leetcode
鱼鱼不愚与9 小时前
《原来如此 | 第01期:为什么导航软件能预测红绿灯倒计时?》
算法
复杂网络13 小时前
论最小 Agent 计算机的形态
算法
kisshyshy1 天前
🍦 雪糕、食堂、火车厢:三幅漫画吃透栈、队列与链表
javascript·算法
猿人谷2 天前
不只是 CPU 阈值:STAR 如何用 GAT + Transformer 做容器级自动扩缩容?
人工智能·算法
复杂网络2 天前
Stable Diffusion 视觉大模型微调技术深度调研
算法
复杂网络2 天前
基于 Stable Diffusion 架构的视觉大模型代表性工作与原理深度解析
算法
MrZhao4002 天前
Agent Loop 如何用 Hook 扩展:权限、日志与工具拦截
算法
MrZhao4002 天前
Agent 为什么需要 Skills:别把所有知识都塞进 system prompt
算法