贪心算法

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

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

知识点

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

反悔贪心

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

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

相关推荐
老王熬夜敲代码2 小时前
BLAKE3:最快的密码学哈希函数
算法·密码学·哈希算法
hansang_IR2 小时前
【题解】P4460 [CQOI2018] 解锁屏幕
c++·算法
见闻小天地2 小时前
简博斯JG-C系列彩色激光同轴位移计:摄像头模组对位与行程测量的技术价值观察
人工智能·算法
葫三生3 小时前
《论三生原理》神话学构想与“神话历史”理论、《古史中的神话》思路异同?
大数据·人工智能·科技·深度学习·算法
liliangcsdn4 小时前
因子分析指标概念与示例
算法·机器学习
SupL!5 小时前
LoftQ原理
算法
Navigator_Z6 小时前
LeetCode //C - 1240. Tiling a Rectangle with the Fewest Squares
c语言·算法·leetcode
稻米哟6 小时前
力扣100——双指针
算法·leetcode
明志数科8 小时前
具身智能真机采集工程实践:5类高频失效模式与规避清单
人工智能·算法·机器学习
CSDN_RTKLIB8 小时前
空间哈希与拓扑缓存
算法