算法教给我的人生道理-贪婪算法
算法教给我的人生道理-贪婪算法
在有些情况下,完美是优秀的敌人
最近在自学《算法图解》,真是一本很棒的入门书,更是教给我一些人生道理。
背包问题提到了贪婪算法,当背包能拿的东西有限时,就优先拿能装进背包的价值最大的那个就好了。尽管不一定是最优解,却是个优秀的近似解。顿时豁然开朗。
“在有些情况下,完美是优秀的敌人。有时候,你只需找到一个能够大致解决问题的算法,此时贪婪算法正好可派上用场,因为它们实现起来很容易,得到的结果又与正确结果相当接近。”真是点醒了人生。
案例介绍
假设你是个贪婪的小偷,背着可装35磅(1磅≈0.45千克)重东西的背包,在商场伺机盗窃各种可装入背包的商品。你力图往背包中装入价值最高的商品,你会使用哪种算法呢?同样,你采取贪婪策略,这非常简单。
(1) 盗窃可装入背包的最贵商品。
(2) 再盗窃还可装入背包的最贵商品,以此类推。
只是这次这种贪婪策略不好使了!例如,你可盗窃的商品有下面三种。
你的背包可装35磅的东西。音响最贵,你把它给偷了,但背包没有空间装其他东西了。
你偷到了价值3000美元的东西。且慢!如果不是偷音响,而是偷笔记本电脑和吉他,总价将为3500美元!
在这里,贪婪策略显然不能获得最优解,但非常接近。不过小偷去购物中心行窃时,不会强求所偷东西的总价最高,只要差不多就行了。
[1]: 《算法图解》, [美] Aditya Bhargava, 译者: 袁国忠.
算法教给我的人生道理-贪婪算法相关推荐
- 《都挺好》告诉我们:这些人生道理,每个人都必须要懂
<都挺好>告诉我们:这些人生道理,每个人都必须要懂 生活皆是苦,唯有靠自渡 .人生从来没有救世主,即便是亲生父母都可能有万中之一的苏母,就更不用奢望运气的辅助.当你不幸拿到了一把烂牌,是悲 ...
- vcfab算法示例_用示例解释贪婪算法
vcfab算法示例 什么是贪心算法? (What is a greedy algorithm?) You may have heard about a lot of algorithmic desig ...
- 一直刷不动算法题,怀疑人生?试试五毒掌法!
大家好,我是若川.持续组织了近一年的源码共读活动,感兴趣的可以 加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步.同时极力推荐订阅我写的<学习源码整体架构系列& ...
- 宫崎骏用动漫教给我们的人生哲理,每一句都能说到心里[转]
中秋佳节,借花献佛,送给以心灵的粮食. 作者:童燕群 | 发布日期:八月 24, 2013 引导语:那些触动心弦的台词,那些感动灵魂的画面,那些照亮前行方向哲理,那些陪伴我们成长的童话--让我们一 ...
- “三十多岁的你想告诉二十多岁的我什么人生道理?”
贺嘉老师是我的好朋友.他是CEO演讲教练,曾经为长江商学院CEO班授课,也辅导过明星柳岩.邹市明等,全网粉丝100万+. 今天,我邀请了贺嘉老师为我们分享:三十岁后,关于职业发展,他的四点感触. 不管 ...
- codeforces算法题和男人人生三禁忌
文章目录 Educational Codeforces Round 89C. Palindromic Paths 题目链接 题意 三禁忌 题解 AC代码 Educational Codeforces ...
- 转自B站 真希望我在20岁就懂得的10个人生道理 主讲:王魄
视频地址:https://www.bilibili.com/video/av65194244?from=search&seid=15261178568916939794 这位阿姨讲得还行,特别 ...
- 我的世界java版不会玩_我的世界:五张MC趣图,Java版玩家永远不懂基岩版玩家的痛...
<我的世界>1.17版本目前已经更新了8个快照版本,在玩家的期望中,Mojang总算是加入了新的洞穴--噪声洞穴(Noise Caves).虽然这属于洞穴与山崖更新的一大步,Java版玩家 ...
- 人生算法——读书笔记
跨越出生和运气,实现富足和自由 用概率思维做好决策. 人生算法九段.广义而言大自然有两个重要的算法,一个是进化,一个是大脑 现实中我们虽然拼命思考,但是极少思考自己的思考. 围绕认知的飞轮,搭建认知演 ...
- 判断大小简单算法_优化 | 贪婪算法有多好?Submodularity告诉你
文章作者:乔杰 责任编辑:苏向阳 本文转载自知乎专栏 贪婪算法有多好?Submodularity告诉你 原文链接:https://zhuanlan.zhihu.com/p/52512602 文章发表于 ...
最新文章
- LoadRunner11录制脚本出现的问题
- 树莓派 安装中文字体、中文输入法fcitx和googlepinyin输入法
- 二次优化问题dfp_优化设计-fmincon函数介绍-序列二次的规划(SQP)-subspacetrustregion-activesett.pdf...
- 【arduino】不做不死系列,用arduino玩CyberPi童芯派之helloworld点灯
- 微型计算机性能指标中可靠性是指连续,计算机接口原理定义
- python播放wav文件_python3 写一个WAV音频文件播放器的代码
- 算法 --- 记一道面试dp算法题
- WebService学习笔记---CXF入门
- sql 按时间二段排序
- Linux 常用命令
- Python 薪资降温?不存在的
- Java学习之文件操作
- MSP430杂谈--时钟资源UCS的配置
- java 提交界面_使用javascript如何实现页面加载时自动提交表单
- 面试问题(工作动机、个人愿望 )
- python视频人脸识别教程_Python学习笔记之视频人脸检测识别实例教程
- python---post请求时其中dict中套有json
- c语言荷兰国旗问题算法,荷兰国旗问题
- 安卓原生系统_安卓原生系统为什么比MIUI和EMUI等国产系统更流畅
- ChineseWiki︱百万中文维基百科词条下载与整理
热门文章
- 【CUDA 基础】4.3 内存访问模式
- 在线python编程网页-手把手教你用Python写一个在线网站,这真的很装逼!
- 解决:当笔记本连接WIFi,电脑可以打开QQ等,但是不能打开网页,显示DNS错误
- 程序员转公务员之Hello World
- 软件开发工具的使用与开发
- 用户权限---u+s\g+s\o+t三个特殊权限说明
- Python数据可视化的例子——折线图(line)
- 数据库实验系列之1数据库及数据库中表等数据库对象的建立实验(包括关系图、完整性、权限控制、视图、索引等内容)
- mysql1026_mysql 启动错误1026
- Linux用户宝典:值得一用的5款远程桌面应用程序