贪心(greedy)
————贪心算法
1、概念:通过局部的最优解从而得到全局最优解
2、步骤
a.确定贪心策略
b.根据贪心策略得到局部最优解
c.局部最优解合并得到全局最优解
3、满足贪心策略的特性
(1)贪心性质:通过一系列的局部最优达到全局最优,同时无后效性,即不影响以后状态。
(2)最优子结构:当一个问题的最优解同时包含其子问题最优解
//
//
是否使用贪心策略需额外注意这两个性质
1、举例
有一9方格
20 9 8
6 7 5
3 14 12
*如果每行选一个数,求最后和最大值
方法:只需每行取最大的贪心策略,即每行选最优(最大),可得整体最优(最大)
类似可用贪心策略
*如果从左下角开始,每次只能向上或向右,求最大值,如果用贪心最值为
3+14+12+5+8=42
而最大可为3+6+20+9+8=46
所以此时不能用贪心。
贪心问题举例(1)
1、装载问题
贪心策略:先将货物以某种策略排序,先后装载。
2、活动选择问题
贪心策略:选择结束早的排序,再从第二个开始选最近的。
贪心(greedy)相关推荐
- 贪心——Greedy
贪心,在生活中很常见,即我们在每一步.每一件事我们都要求尽善尽美 如在菜市场买菜的时候我们总是希望用最低的价格买到最好的菜 今天我们要学习的算法就是这样一个算法--贪心算法 概述 贪心算法是对完成一件 ...
- 正则表达式 右上角加号_最全正则表达式讲解实战,附源码,敲一遍学会
文章来源:王的机器 作者:王圣元 本文含 10026 字,27图表截屏建议阅读 42 分钟在公众号对话框回复 RE获取完整 Jupyter Notebook0引言 正则表达式(Regular Expr ...
- 深度学习基础(基本概念、优化算法、初始化、正则化等)
2020-04-25 16:29:09 引言 深度学习目前已成为发展最快.最令人兴奋的机器学习领域之一,许多卓有建树的论文已经发表,而且已有很多高质量的开源深度学习框架可供使用.然而,论文通常非常简明 ...
- Leetcode-一篇帖子就够啦
# 注:下面按照算法类别由浅入深,把下面罗列的这些题刷完,并且多看这些题不同的解法(国际版mostvotes),看懂之后估计就不会有太大的问题啦~ 整体框架 数据结构: 一维:基础: 数组array( ...
- 算法与数据结构基础 - 堆(Heap)和优先级队列(Priority Queue)
堆基础 堆(Heap)是具有这样性质的数据结构:1/完全二叉树 2/所有节点的值大于等于(或小于等于)子节点的值: 图片来源:这里 堆可以用数组存储,插入.删除会触发节点shift_down.shif ...
- 【LeetCode】按 tag 分类索引 (900题以下)
链表:https://www.cnblogs.com/zhangwanying/p/9797184.html (共34题) 数组:https://www.cnblogs.com/zhangwanyin ...
- 算法日记-01-算法和数据结构概览
算法日记-01-算法和数据结构概览 文章目录 算法日记-01-算法和数据结构概览 1.数据结构 2.算法 3.如何解题? 4.刷题方法 5.小结 1.数据结构 一维 基础:数组arry(string) ...
- 测试 软通动力软件测试机试_5000字长文,计算机保研机试介绍及准备策略!高分过过过!...
算法不论在保研机试还是工作面试中都是重要的考核标准,算法基础好的人逻辑思维更强,在工程中能提高问题的解决效率,能用更简单的方法.更精简的代码解决实际问题,而在保研复试中也能体现个人的编程思维和能力,大 ...
- 动态规划--总体理解
对比 贪心(greedy):局部最优(local best),不保证全局最优 穷举(exhaustive search)搜索:代价昂贵(prohibitive cost) 动态规划:是二者的综合平衡. ...
- 【算法笔记】极客时间 算法面试通关40讲 笔记 覃超
[算法笔记]极客时间 算法面试通关40讲 覃超 [算法笔记]极客时间 算法面试通关40讲 覃超 相关链接 在leetcode 上的题号 数组.链表: (堆)栈stack.队列queue 优先队列 哈希 ...
最新文章
- Qt编写OpenMP程序--循环测试
- Django扩展xadmin后台管理
- java–Servlet基础
- 讲讲类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字段,当 new 的时候, 他们的执行顺序
- matlab提示未定义wc,WooCommerce 教程:修复致命错误调用未定义的函数wc_get_order() - WooCommerce 微站...
- POJ_2112 Optimal Milking(网络流)
- 已创建仓库后 github提交流程
- 结合Pandas中的多个数据集
- OpenCore 启动菜单界面美化增加gui界面
- 数据压缩作业一:音频时域频域特性分析(Audacity)及RGB文件熵的计算
- 《岳阳楼记》古文鉴赏
- 浅谈ACX带通滤波器应用
- 【c语言】printf和scanf中* # %g的作用
- 云计算--Docker在Ubuntu上安装
- 人脸识别嵌入式Linux芯片瑞芯微RV1109参数介绍
- 如何进行js的debug
- 莎士比亚文集词频统计并行化算法
- 周易六十四卦——明夷卦
- 使用 PLINK 把 vcf 的0/0,0/1,1/1转为字母格式的基因型(比如AA,AG,GG)
- 淘宝开放平台TOP SDK调用对接淘宝或天猫
热门文章
- Eclipse软件使用教程
- 缓冲区(buffer)与缓存(cache)
- 限定特定的IP访问服务器
- hook之useEffect
- python xlwings excel 根据列排序
- CUDA之nvidia-smi命令详解
- supervisord使用
- Java黑皮书课后题第5章:5.3(将千克转换成磅)编写程序,显示下面的表格(注意:1kg为2.2磅)
- 教你秒建受信任的本地 SSL 证书,彻底解决开发测试环境的无效证书警告烦恼!...
- 生产排故_ORA-01000: maximum open cursors exceeded