贪心算法详细讲解(沉淀中)

文章目录

1. 什么是贪心算法?(贪婪+鼠目寸光)

贪心策略:解决问题的策略局部优先 -> 全局优先。

贪心策略:
1.把解决问题的过程分为若干步;
2.解决每一步的时候,都选择当前看起来"最优的"解法;
3."希望"得到全局最优解。

经典例题

1.1.1 找零问题

1.1.2最小路径和

1.1.3 背包问题

2.贪心算法的特点

(1)贪心策略到的提出

1.贪心策略的提出是没有标准及模板的。

2.可能每一道题的贪心策略都是不同的

(2)贪心策略的正确性

因为有可能"贪心策略"是一个错误的方法;

正确的贪心策略,我们是需要"证明的 "。

常用的证明方法:数学中见过的所有证明方法。

eg:

1.错误的比较好证明,在例2,3中:

例2:

绿色路径和:1+3+1+1+1=7,比10小,所以这里的贪心策略是错误的。

例三:

这里用2个2号,价值是14 ,比13 大,所以这里的贪心策略是错误的。

2.1 证明例1

3.学习贪心的方向

遇到不会的题放平心态。

1.前期学习的时候,把重点放在贪心的策略上,把这个策略当成经验吸收。

2.如何去证明?

心得体会

以上内容就是贪心算法的重点内容,如果想深入学习,那就多做练习,学习不同的关于贪心算法的习题,提升自己。喜欢博主的,可以一键三连,支持博主!!!!

相关推荐
YuTaoShao19 分钟前
【LeetCode 热题 100】73. 矩阵置零——(解法二)空间复杂度 O(1)
java·算法·leetcode·矩阵
Heartoxx20 分钟前
c语言-指针(数组)练习2
c语言·数据结构·算法
大熊背34 分钟前
图像处理专业书籍以及网络资源总结
人工智能·算法·microsoft
满分观察网友z38 分钟前
别怕树!一层一层剥开它的心:用BFS/DFS优雅计算层平均值(637. 二叉树的层平均值)
算法
杰克尼2 小时前
1. 两数之和 (leetcode)
数据结构·算法·leetcode
YuTaoShao3 小时前
【LeetCode 热题 100】56. 合并区间——排序+遍历
java·算法·leetcode·职场和发展
二进制person7 小时前
Java SE--方法的使用
java·开发语言·算法
OneQ6667 小时前
C++讲解---创建日期类
开发语言·c++·算法
JoJo_Way7 小时前
LeetCode三数之和-js题解
javascript·算法·leetcode
.30-06Springfield8 小时前
人工智能概念之七:集成学习思想(Bagging、Boosting、Stacking)
人工智能·算法·机器学习·集成学习