文库搜索
切换导航
首页
频道
教育频道
专业资料
实用文档
资格考试
生活休闲
会员中心
首页
教育频道
专业资料
实用文档
资格考试
生活休闲
查询订单
会员中心
图灵社区的电子书没有采用专有客 户端,您可以在任意设备上,用自 己喜欢的浏览器和PDF阅读器进行 阅读。 但您购买的电子书仅供您个人使用, 未经授权,不得进行传播。 我们愿意相信读者具有这样的良知 和觉悟,与我们共同保护知识产权。 如果购买者有侵权行为,我们可能 对该用户实施包括但不限于关闭该 帐号等维权措施,并可能追究法律 责任。 (2017.1重印) 内 容 提 要 本书从一系列有趣的生活实例出发,全面介绍了构造算法的基础方法及其广泛应用,生动地展现了算 法的趣味性和实用性。全书分为两个部分,第一部分介绍了算法的概念、常用的算法结构以及实现方法, 第二部分介绍了算法在各个领域的应用,如物理实验、计算机图形学、数字音频处理等。其中,既有各种 大名鼎鼎的算法,如神经网络、遗传算法、离散傅里叶变换算法及各种插值算法,也有不起眼的排序和概 率计算算法。讲解浅显易懂而不失深度和严谨,对程序员有很大的启发意义。书中所有的示例都与生活息 息相关,淋漓尽致地展现了算法解决问题的本质,让你爱上算法,乐在其中。 本书适合软件开发人员、编程和算法爱好者以及计算机专业的学生阅读。 ◆ 著 王晓华 责任编辑 王军花 执行编辑 张 霞 责任印制 杨林杰 ◆ 人民邮电出版社出版发行 北京市丰台区成寿寺路11号 邮编 100164 网址 http://www.ptpress.com.cn 北京 电子邮件
[email protected]
印刷 ◆ 开本:800×1000 1/16 印张:26.25 字数:614千字 印数:13 801 — 14 800册 2015年 4 月第 1 版 2017年 1 月北京第 7 次印刷 定价:79.00元 读者服务热线:(010)51095186转600 印装质量热线:(010)81055316 反盗版热线:(010)81055315 广告经营许可证:京东工商广字第 8052 号 前 言 1 1 序 一 2 3 读《算法的乐趣》的乐趣超出了我的预料。 说到算法,大部分计算机专业的同学的第一反应估计是MIT出版社的经典教材《算法导论》 (Introduction to Algorithms)。这是一本由浅入深的好书,堪称“神书”——别看书挺厚,但是对 初学者来说很难弄懂的问题也娓娓道来,让人看一遍就明白;而且作者用最简单的英语词汇和句 法写书,以至于世界各地的学生们,不需要英语很好,即可读懂原版。只是看完这本大部头之后, 总有一些意犹未尽的感觉——对我们日常生活中常见的比如音乐播放器里以及电子游戏里的算 法并没有太多介绍。而这些正是《算法的乐趣》中主要的部分。 4 在Amazon上,另外两本排名靠前的经典算法教材是Jon Kleinberg的《算法设计》(Algorithm Design)和Steven S. Skiena的《算法设计手册》 (The Algorithm Design Manual)。这两本出自名家 之手的教材和很多教材一样,按照算法的类型或者背后的设计思路来组织内容。这是教材应该做 的,“授人以鱼不如授人以渔”,传授思路而不是算法本身是教材的写作目的。可是算法最有意 思的地方首先在于算法本身,因为算法是为了解决实际问题而设计的,所以让大家认识到算法奥 妙的自然顺序应该是先展示有趣的问题,再展示优雅的算法,最后归纳设计思路。而这正是《算 法的乐趣》吸引人的地方。 6 说到乐趣,总让我想起我学习和使用数学知识的经历。虽然我的学位是关于统计机器学习的, 而且毕业后一直从事相关工作,但是我从小学一年级到博士第三年都对数学毫无兴趣,因为学校 的老师和数学成绩好的同学都说不明白数学的用处,以至于我一直以为数学的作用只是锻炼和展 示自己的聪明,博得老师的表扬,成为陈景润那样为国争光的英雄。而这些对我实在没有吸引力, 而且我认为恐怕对绝大部分学生都没什么吸引力。 我认识到数学的价值,是因为在博士第三年把研究方向换到了统计机器学习。在读教材的时 候,我曾想验证“数学无用”,所以费尽心力地试图写一个程序来判断一个64×64像素的图片里 到底是数字“1”还是数字“9”,却发现无论如何也很难写一个有效的程序;可是利用教材里的 数学知识却能设计和“训练”一个数学模型,准确地识别任意字符。因为体会到了数学的用处, 我兴奋地用了一年的时间复习大学本科的数学课程,然后才读懂了人工智能的专业教材和论文。 此后才有所创新,发表论文,到博士毕业。这整个过程用了三年,而效果超过了之前19年数学教 育的效果。 5 7 8 9 10 11 12 2 序 一 在这个过程中,我自然而然地开始注意数学知识的前因(比如为什么人们会关注长度、面积, 怎么会有人考虑勾股定理这样的规律)以及后果(今天的数学知识能给物理学和机器智能带来什 么样的帮助),也开始归纳和了解各种数学系统背后的规律,能体会哥德尔定理阐述的意思。当 然,也破除了“数学是各种科学之母”之类的迷信,数学当然不是“科学之母”,而是“科学之 子”,是先有物理学、力学和天文学,才有的数学;先有应用场景后有工具,先有探索后有归纳。 算法也是如此。先有工程问题需要解决,算法是解法,设计算法是寻求解法。虽然算法作为 一门科学是归纳寻求解法的思路,但学习这种归纳法的前提是能体会各种具体算法的用处和效 果。意识到这一点,自然也就破除了诸如“学好数学才能学好算法”之类的迷信。而把算法解决 的各种有趣问题罗列出来,把算法的可爱之处展示给愿意发现和体会生活中点滴乐趣的读者们, 正是《算法的乐趣》在技术价值之外的一层社会价值。 十年前,当我们坐在课堂里学习算法的时候,我们学到的是如何用人脑寻求解法,然后把解 法写成程序,让计算机照着执行去解决问题。这是“经典算法”。最近十几年,随着Internet产业 的兴起,Internet服务在不断取代原来由人提供的服务,这就要求机器拥有一定程度上能取代人的 “智能”。在搜索引擎、推荐系统和广告系统等各个领域里,类似上述“识别数字”的问题越来 越多,而人工智能和机器学习的应用也越来越深入我们的生活。机器学习算法的设计目标和“经 典算法”不同——不是让人来想解法,而是让计算机从数据归纳知识——有了这些知识,计算机 就能自己寻求解法。 虽然经典算法和机器学习算法之间的差别大得如同一场革命,但是由经典而入机器学习的过 程却是自然而然的。比如《算法的乐趣》中介绍的曲线拟合问题,就是supervised learning(有监 督学习),而音乐播放器里常用的傅里叶变换和其他时域频域变换则是unsupervised learning(无 监督学习)的技术基础,棋类游戏算法是博弈论和reinforcement learning(强化学习)的经典例子。 我常见有朋友从读数学教材开始探索机器学习和人工智能算法,也常看到有人不堪忍受长时间缺 乏乐趣的探索以至于半途而废。如果是这样,也许不如从《算法的乐趣》开始这个探索过程。 我曾经以为从乐趣出发阐述算法的书会从西方发芽,没想到先看到了一本中文书。这真超出 了我的预料。 王益 LinkedIn高级主任分析师 图灵社区会员 ChenyangGao(
[email protected]
) 专享 尊重版权 前 言 1 1 序 二 2 3 当图灵出版社的编辑找到我希望我为这本书写个序的时候,我和旁边的同事调侃了一句:又 一本简版的《算法导论》要诞生了。但是我还是下载了附件阅读了这本书,当翻到目录的时候, 我的兴趣就被燃起来了,转头和同事说,也许这是一本不错的书。 程序员到底需不需要学习算法?这个问题被争论的次数绝对不亚于“Java是不是最好的语 言”“VIM和Emacs谁是最好的编辑器”“程序员是不是需要学习数学”。为了避免陷入这样的争论 里,我们先对“算法”一词做个转换定义,什么是算法?下面我举几个我亲身经历的例子。 有一次我们发布了一个APP,在注册时要求用户输入自己的真实姓名,但是粗心的工程师忘 记了要求用户填写自己的性别,更可怜的是在欢迎页上面明晃晃地写着“欢迎XXX先生注册XX 网”,可是应用已经发布到了App Store,到底怎么办?有一位工程师提出了一个办法,我们根据 已有的用户姓名和性别作为训练集,来预测新用户到底是男还是女,为了让这个错误尽快得到修 复,我们使用了最简单的朴素贝叶斯分类算法,最终测试集上的预测准确率达到93%,也就是说 我们解决了93%用户的体验问题。我把这类算法称为专业类算法,也就是招聘网站上算法工程师 要求的算法,例如图像处理工程师、数据挖掘工程师等。 有一次我们有一个相似性搜索的需求,数据量不大,只有几万条的数据记录,没有必要用ES 这样的搜索引擎。例如输入“长沙市”, 也希望可以找到“我爱湖南长沙”“沙市小吃”等,且 不说这个需求是否合理,我们单纯来讨论这个问题的解决方案。工程师实现的第一版是将所有字 的组合全部列举出来,然后在数据库里做like操作,性能无法接受。于是我们提出了另一种解决 方案:将数据库中的每个词都拆成单字,做成集合,保存在缓存中。接下来只需要对集合做交集 操作,以字为单位计算词与词之间的相似性,性能问题一下就解决了。这种解题思路在《编程珠 玑》中屡见不鲜,这不足以称为具体的算法,几乎都是在梳理我们的逻辑,训练我们解决问题的 能力,我把这类算法称为逻辑类算法,或者技巧类算法。 还有一次,我们有个需求是帮助用户做旅游的行程规划,其中的情况比较复杂,因为除了地 理位置之外,还需要包含目的地的过往用户评价、所需耗时、不同城市的住宿花费等。但是如果 我们仔细分析,可以基于产品设计去拆分问题。在在线部分,我们可以去使用基于路程的最短图 路径算法,或者基于价格的贪心算法,也可以在综合排序处为用户选择使用了变形加权的最短图 路径算法。在离线部分,由于图的节点和边都较少,可以使用穷举法来为用户找到几种不同类型 的最优解。这些算法都是在《算法导论》和《数据结构》中有着详细讨论的算法,书中的每一个 4 5 6 7 8 9 10 11 12 2 序 二 算法和数据结构都是作者多年来抽象总结出的通用思路,我称之为通用类算法。 再说一个最基本的,我们做一个网站允许用户发布状态,在高峰期并发量太大,数据库不堪 重负,所以我们需要将用户的插入记录先存入到消息队列中,保证用户的正常使用,然后再落地 到MySQL数据库中。大家都会想到选择队列这样一种先入先出的数据结构,这也属于一种算法。 通过上面的几个例子,你会不会觉得你的身边处处都是算法?那么到底什么是算法?我们看 看标准的定义:能够对一定规范的输入,在有限时间内获得所要求的输出的一系列指令都叫作算 法。这个定义太抽象了,让我们简单来说,算
[图灵原创].算法的乐趣.revise7
专业资料
>
IT/计算机
>
互联网
>
文档预览
426 页
0 下载
250 浏览
3.0分
温馨提示:当前文档最多只能预览
20
页,若文档总页数超出了
20
页,请下载原文档以浏览全部内容。
下载文档到电脑,方便使用
下载文档
当前文档最多只能预览 20 页
还有
15
页可预览,
继续阅读
本文档由 woyaoziliao 于
2020-12-18
上传分享
举报
下载
原文档
(8.36 MB)
收藏
分享
相关精品文档
苏格百度核心算法绝密
苏格网赚:http://www.zxlovecjy.com/,苏格:暴利行业培训第 1 人,已开设免费公开课 更多算法和技巧,请联系苏格 QQ:76573055 或微信 laosutexun 苏格百度核心算法算法整理(全) --苏格 前...
其它
3.0 分
7 页 | 337.81 KB
| 2020-12-19
[图灵原创].Go语言编程
图灵社区会员 soooldier(
[email protected]
) 专享 尊重版权 更多资源请访问稀酷客(www.ckook.com) 图灵社区会员 soooldier(
[email protected]
) 专享 尊重版权 更...
计算机软件及应用
3.0 分
245 页 | 8.95 MB
| 2020-12-18
[图灵图书].单核工作法图解:事多到事少,拖延变高效
图灵社区的电子书没有采用专有客户 端,您可以在任意设备上,用自己喜 欢的浏览器和PDF阅读器进行阅读。 但您购买的电子书仅供您个人使用, 未经授权,不得进行传播。 我们愿意相信读者具有这样的良知和 觉悟,与我们共同保护知识产权。 如果购买...
计算机软件及应用
3.0 分
194 页 | 10.28 MB
| 2020-12-18
[图灵程序设计丛书].深入NoSQL
NoSQL NoSQL MapReduce Hadoop Amazon Facebook Google NoSQL [ ] Shashank Tiwari 14 100061
[email protected]
ht...
电脑基础知识
3.0 分
311 页 | 13.92 MB
| 2020-12-18
[图灵程序设计丛书].黑客攻防技术宝典:浏览器实战篇
10 内 容 提 要 本书由世界顶尖级黑客打造,细致讲解了 IE、Firefox、Chrome 等主流浏览器及其扩展和应用上的安 全问题和漏洞,介绍了大量的攻击和防御技术,具体内容主要包括 :初始控制,持续控制,绕过同源策略, 攻击用...
互联网
3.0 分
497 页 | 19.30 MB
| 2020-12-18
[图灵程序设计丛书].深度学习入门:基于Python的理论与实现
图灵社区的电子书没有采用专有客户 端,您可以在任意设备上,用自己喜 欢的浏览器和PDF阅读器进行阅读。 但您购买的电子书仅供您个人使用, 未经授权,不得进行传播。 我们愿意相信读者具有这样的良知和 觉悟,与我们共同保护知识产权。 如果购...
计算机软件及应用
3.0 分
314 页 | 10.48 MB
| 2020-12-18
[图灵程序设计丛书].流畅的Python.revise11
图灵社区的电子书没有采用专有客 户端,您可以在任意设备上,用自 己喜欢的浏览器和PDF阅读器进行 阅读。 但您购买的电子书仅供您个人使用, 未经授权,不得进行传播。 我们愿意相信读者具有这样的良知 和觉悟,与我们共同保护知识产权。 如...
电脑基础知识
3.0 分
634 页 | 14.53 MB
| 2020-12-18
[图灵原创].深入React技术栈
(2017.2重印) 内 容 提 要 本书从几个维度介绍了 React。一是作为 View 库,它怎么实现组件化,以及它背后的实现原理。二是 扩展到 Flux 应用架构及重要的衍生品 Redux,它们怎么与 React 结合做应用开发...
电脑基础知识
3.0 分
366 页 | 9.57 MB
| 2020-12-18
[图灵原创].人人都是数据分析师:Tableau应用实战
图灵社区会员 xuesong_1010 专享 尊重版权 图灵社区的电子书没有采用专有客 户端,您可以在任意设备上,用自 己喜欢的浏览器和PDF阅读器进行 阅读。 但您购买的电子书仅供您个人使用, 未经授权,不得进行传播。 我们愿意相信读...
电脑基础知识
3.0 分
356 页 | 25.04 MB
| 2020-12-18
[图灵程序设计丛书].高性能Android应用开发
图灵社区的电子书没有采用专有客 户端,您可以在任意设备上,用自 己喜欢的浏览器和PDF阅读器进行 阅读。 但您购买的电子书仅供您个人使用, 未经授权,不得进行传播。 我们愿意相信读者具有这样的良知 和觉悟,与我们共同保护知识产权。 如果...
计算机软件及应用
3.0 分
234 页 | 19.10 MB
| 2020-12-18
[图灵程序设计丛书].干净的数据:数据清洗入门与实践
图灵社区的电子书没有采用专有客 户端,您可以在任意设备上,用自 己喜欢的浏览器和PDF阅读器进行 阅读。 但您购买的电子书仅供您个人使用, 未经授权,不得进行传播。 我们愿意相信读者具有这样的良知 和觉悟,与我们共同保护知识产权。 如果...
互联网
3.0 分
206 页 | 14.12 MB
| 2020-12-18
[图灵程序设计丛书].机器学习实战
内 容 提 要 机器学习是人工智能研究领域中的一个极其重要的方向。在现今大数据时代的背景下,捕获数据并从 中萃取有价值的信息或模式,使得这一过去为分析师与数学家所专属的研究领域越来越为人们瞩目。 本书通过精心编排的实例,切入日常工作...
互联网
3.0 分
334 页 | 19.76 MB
| 2020-12-18
教育频道
初中教育
小学教育
幼儿教育
成人教育
文库题库
高中教育
高等教育
专业资料
IT/计算机
人文社科
农林渔牧
医疗卫生
工程科技
经营营销
自然科学
实用文档
党团工作
工作范文
总结/汇报
求职/职场
表格/模板
计划/解决方案
资格考试
公务员类
医药类
外语类
外贸类
建筑类
计算机类
财会类
资格类
最新文档
【07】“十四五”软件和信息技术服务业发展规划
【01】十四五规划和2035年远景目标纲要
rk3399-linux使用指导文档-20211110
brocade-300光纤交换机用户手册
21A00973-重庆市公安局警务大数据应用服务平台建设项目及十智应用整合项目(十九)-安全系统(终审稿)
市局综合业务系统、全程电子企业网上登记系统、智慧注册许可系统
21A00897-重庆市公安局警务大数据应用服务平台建设项目及十智应用整合项目(十八)-网络基础设施升级改造(终审稿)
公开招标—重庆市医疗保障局数据迁移验证环境集成服务和相关设备采购(终审稿)
(挂网稿)南岸固体废物信息化管理系统
[图灵程序设计丛书].黑客攻防技术宝典:浏览器实战篇
热门标签
丛书
知识
火柴
一分钟
a10
天人合一
一位
漂流
旅行
思想
智慧
旁观者
三分
三百
最美
美德
游击
语境
藝文
弱电
1
/
20
426
2 金币
下载文档(8.36 MB)
回到顶部
下载文档(共426页)
×
下载提示
下载该文档,您需要支付
2
金币(10金币=1元)。
您确定要下载
[图灵原创].算法的乐趣.revise7
文档吗?
选择支付方式:
×
分享,让知识传承更久远
×
文档举报
举报原因:
垃圾广告
淫秽色情
虚假中奖
敏感信息
人身攻击
骚扰他人
×
收藏文档
收藏文档
请选择收藏夹
请选择收藏夹
没有合适的收藏夹?去
创建收藏夹