
编辑推荐
无论你是计算机科学的学生还是业余爱好者,本书都是能让你在引人入胜的情节中学习算法知识的完美选择。Frank是一位被解雇的前探员,老练的私家侦探和搜索专家。追寻他的足迹,你会学到:
...优先搜索、深度优先搜索、迭代加深、并行算法、二分搜索等算法背后的原理
字符串、数组、栈和队列等基本计算机科学概念
如何修改搜索算法以适应不同的数据结构
如何在特定情况下选择最适合的算法,以及何时应该使用基于常识的启发式算法
作者简介
Jeremy Kubica 在 Google 任职首席工程师,着力于机器学习和算法方向。他拥有康奈尔大学的计算机科学本科学位和卡耐基梅隆大学的机器人专业博士学位。在研究生期间,他设计了一个算法,可以探测对地球有威胁的小行星(当然,还尚未能阻止那些小行星)。Kubica 同时也是著名博客Computational Fairy Tales的作者。
关于技术审校者
Heidi Newton 拥有新西兰坎特伯雷大学计算机科学专业的学士学位,以及新西兰惠灵顿维多利亚大学计算机科学专业的硕士学位。她目前就职于坎特伯雷大学计算机专业的代码复仇者研究小组,并在业余时间进行相关辅导和咨询工作。她目前致力于改善关于计算机科学和编程的教学资源。
译者介绍
啊哈磊:原名纪磊,毕业于武汉大学。曾在微软亚洲研究院研发“爬虫”,全国青少年信息学奥林匹克金牌教练。著有《啊哈C语言!逻辑的挑战》和《啊哈!算法》系列编程科普丛书,并被引进至港澳台。
李嘉浩:曾获全国青少年信息学奥林匹克竞赛金牌,国家集训队最小选手。现就读于美国麻省理工学院计算机科学及音乐双专业。喜欢行走在科学与艺术的交接点。
目录
1搜索问题
2穷举搜索寻线人
3罪犯农场里的数组和索引
4字符串及隐藏的信息
5对一艘走私船的二分搜索
6二分搜索寻线索
7调整算法,大胆逃离
8Socks:一个突如其来的插曲
9倒退一步,继续搜索
10用广度优先搜索去开锁
11废弃监狱中的深度优先搜索
12餐厅中的栈和队列
13用栈和队列搜索
14分头行动——并行搜索
15迭代加深可以救你的命
16逆向索引:缩小搜索范围
17二叉搜索树陷阱
18建造二叉搜索梯
19疑犯的二叉搜索树
20将疑犯加到搜索树中
21二叉搜索树的属性
22公文字典树
23最佳优先搜索:侦探最值得信赖的工具
24用优先队列进行调查
25用优先队列来解锁
26启发式搜索
27警察学院中的“堆”
28搜索难题
29搜索终点站
结语
序言
译 者 序
算法!Algorithms !
咳咳!很多人一听到这个词,估计脑袋就要炸了:一定又是复杂极了的东西,看来此书必定翻不过第一节,就要睡着了。
没错,很多算法书虽然写得很精妙,但凭我这种智商一口气最多只能看5到10 页,就会乖乖滚回去睡觉了。不少读者说《啊哈!算法》一口气能读100页,这已经是极限。那么,这本《算法神探:一部谷歌首席工程师写的CS小说》或许可以一口气读完,没错,是读完!
整本书巧妙地将算法穿插入一场离奇的盗窃案的侦破中。没有一行代码和公式,取而代之是一场又一场鲜活的破案游戏,带你游走在各个犯罪现场,让你身临其境地观察我们的主人公是如何使用算法搜寻线索并逐步揭开事实真相的。虽然这本书并不是教科书,但通过这种轻松的阅读学习,你可以对算法的本质有大致了解。在酣畅淋漓地读完本书之后,再去翻阅其他算法书籍,你会惊奇地发现,自己竟然可以看懂那些枯燥苦涩的代码和公式了。
其实,在阅读本书之前,你甚至不需要掌握任何编程的基础知识。这并不影响你阅读全书,并以轻松有趣的方式了解这些算法——就是这样一本神奇的算法书。
然而,时间紧张加之我们翻译水平有限,请恕不能将原作者的精巧行文完美地展现在你面前。译文中难免有不足和疏漏之处,还请不吝批评指正。翻译期间得到了不少朋友的帮助,在此向他们表示感谢。特别感谢我的挚友丁广浩,他目前就职于美国的。在 On-Call Duty 的日子里面,他还抽时间帮我解答疑问,甚是感激。另外,也非常感谢武汉外国语学校的张竞文同学和浙江大学的陈泓宇同学。
好嘞,故事要开始了,让我们跟随Frank探长和Notation警官一起走入这场奇妙之旅。
啊哈磊
ahalei.com
关于作者
Jeremy Kubica 在 Google 任职首席工程师,着力于机器学习和算法方向。他拥有康奈尔大学的计算机科学本科学位和卡耐基梅隆大学的机器人专业博士学位。在研究生期间,他设计了一个算法,可以探测对地球有威胁的小行星(当然,还尚未能阻止那些小行星)。Kubica 同时也是著名博客Computational Fairy Tales的作者。
关于技术审校者
Heidi Newton 拥有新西兰坎特伯雷大学计算机科学专业的学士学位,以及新西兰惠灵顿维多利亚大学计算机科学专业的硕士学位。她目前就职于坎特伯雷大学计算机专业的代码复仇者研究小组,并在业余时间进行相关辅导和咨询工作。她目前致力于改善关于计算机科学和编程的教学资源。
致谢
我要对所有支持本书和为本书做出了贡献的人们深表感谢。
首先,我想向 No Starch 出版社团队的所有人致谢。特别是 Liz Chadwick 和Riley Hoffman 在本书的编辑过程中给予我的帮助、指导和建议。Liz 高质量的建议使得本书的故事内容保持了流畅清晰。同时,我也很感谢她提出的将本书涉及的专业内容以讲义形式呈现的建议。感谢 Bill Pollock 和 Tyler Ortman 的支持,特别感谢 Bill 为本书书名提供的建议。也感谢 Carlos Bueno 向我介绍了 No Starch 出版社。
感谢Miran Lipovacˇa为本书提供了精美的插图。这些插图很好地刻画了本书的人物特色和故事情节。
感谢 Heidi Newton从专业角度进行的细致深度的审校。她的审阅很大程度上确保了本书所涵盖的内容和概念能够以准确易懂的方式呈现出来。非常感谢她针对书中的晦涩难懂处给予的提醒。
同时也感谢所有阅读过本书早期手稿并提供了宝贵建议的人:John Bull、Mike Hochberg、Edith Kubica、Regan Lee和 Kristen “Kit” Subbs 博士。感谢 Ilana Schwarcz 对于本书早期手稿的编辑,以及对本书在行文上的建议和帮助。
最后,我想由衷地感谢我的家人,特别是父母在我孩童时期对于我的计算机兴趣的支持,以及对我写作本书给予的鼓励。
导读
本书关注的是计算机思维和搜索算法。这些故事介绍并阐释了较高层次的计算机思想,探索了它们背后的动机及其在非计算机领域中的应用。本书并不奢望对算法进行非常详尽而全面的描述,书中的故事也不是为了替代计算机科学中那些坚实而严谨的技术性描述。相反,它们的作用更像是插图:对整体思想进行补充,帮助你更好地理解算法。
本书介绍了一系列的计算方法,它们大致上属于搜索算法的范畴。书中每一章首先通过一个故事来讲解算法的大致思想,随后再用讲义的形式来对算法进行更为技术性的解释。读者可以完全跳过这些技术讲解部分,同时又不会错过任何一个精彩的故事。
本书假定你已经对一些基本的计算机科学思想有所了解,但你并不需要掌握任何一门编程语言。本书中的算法适用于各种编程语言和不同领域的问题。
文摘
本书关注的是计算机思维和搜索算法。这些故事介绍并阐释了较高层次的计算机思想,探索了它们背后的动机及其在非计算机领域中的应用。本书并不奢望对算法进行非常详尽而全面的描述,书中的故事也不是为了替代计算机科学中那些坚实而严谨的技术性描述。相反,它们的作用更像是插图:对整体思想进行补充,帮助你更好地理解算法。
本书介绍了一系列的计算方法,它们大致上属于搜索算法的范畴。书中每一章首先通过一个故事来讲解算法的大致思想,随后再用讲义的形式来对算法进行更为技术性的解释。读者可以完全跳过这些技术讲解部分,同时又不会错过任何一个精彩的故事。
本书假定你已经对一些基本的计算机科学思想有所了解,但你并不需要掌握任何一门编程语言。本书中的算法适用于各种编程语言和不同领域的问题。
无论你是计算机科学的学生还是业余爱好者,本书都是能让你在引人入胜的情节中学习算法知识的完美选择。Frank是一位被解雇的前探员,老练的私家侦探和搜索专家。追寻他的足迹,你会学到:
...优先搜索、深度优先搜索、迭代加深、并行算法、二分搜索等算法背后的原理
字符串、数组、栈和队列等基本计算机科学概念
如何修改搜索算法以适应不同的数据结构
如何在特定情况下选择最适合的算法,以及何时应该使用基于常识的启发式算法
作者简介
Jeremy Kubica 在 Google 任职首席工程师,着力于机器学习和算法方向。他拥有康奈尔大学的计算机科学本科学位和卡耐基梅隆大学的机器人专业博士学位。在研究生期间,他设计了一个算法,可以探测对地球有威胁的小行星(当然,还尚未能阻止那些小行星)。Kubica 同时也是著名博客Computational Fairy Tales的作者。
关于技术审校者
Heidi Newton 拥有新西兰坎特伯雷大学计算机科学专业的学士学位,以及新西兰惠灵顿维多利亚大学计算机科学专业的硕士学位。她目前就职于坎特伯雷大学计算机专业的代码复仇者研究小组,并在业余时间进行相关辅导和咨询工作。她目前致力于改善关于计算机科学和编程的教学资源。
译者介绍
啊哈磊:原名纪磊,毕业于武汉大学。曾在微软亚洲研究院研发“爬虫”,全国青少年信息学奥林匹克金牌教练。著有《啊哈C语言!逻辑的挑战》和《啊哈!算法》系列编程科普丛书,并被引进至港澳台。
李嘉浩:曾获全国青少年信息学奥林匹克竞赛金牌,国家集训队最小选手。现就读于美国麻省理工学院计算机科学及音乐双专业。喜欢行走在科学与艺术的交接点。
目录
1搜索问题
2穷举搜索寻线人
3罪犯农场里的数组和索引
4字符串及隐藏的信息
5对一艘走私船的二分搜索
6二分搜索寻线索
7调整算法,大胆逃离
8Socks:一个突如其来的插曲
9倒退一步,继续搜索
10用广度优先搜索去开锁
11废弃监狱中的深度优先搜索
12餐厅中的栈和队列
13用栈和队列搜索
14分头行动——并行搜索
15迭代加深可以救你的命
16逆向索引:缩小搜索范围
17二叉搜索树陷阱
18建造二叉搜索梯
19疑犯的二叉搜索树
20将疑犯加到搜索树中
21二叉搜索树的属性
22公文字典树
23最佳优先搜索:侦探最值得信赖的工具
24用优先队列进行调查
25用优先队列来解锁
26启发式搜索
27警察学院中的“堆”
28搜索难题
29搜索终点站
结语
序言
译 者 序
算法!Algorithms !
咳咳!很多人一听到这个词,估计脑袋就要炸了:一定又是复杂极了的东西,看来此书必定翻不过第一节,就要睡着了。
没错,很多算法书虽然写得很精妙,但凭我这种智商一口气最多只能看5到10 页,就会乖乖滚回去睡觉了。不少读者说《啊哈!算法》一口气能读100页,这已经是极限。那么,这本《算法神探:一部谷歌首席工程师写的CS小说》或许可以一口气读完,没错,是读完!
整本书巧妙地将算法穿插入一场离奇的盗窃案的侦破中。没有一行代码和公式,取而代之是一场又一场鲜活的破案游戏,带你游走在各个犯罪现场,让你身临其境地观察我们的主人公是如何使用算法搜寻线索并逐步揭开事实真相的。虽然这本书并不是教科书,但通过这种轻松的阅读学习,你可以对算法的本质有大致了解。在酣畅淋漓地读完本书之后,再去翻阅其他算法书籍,你会惊奇地发现,自己竟然可以看懂那些枯燥苦涩的代码和公式了。
其实,在阅读本书之前,你甚至不需要掌握任何编程的基础知识。这并不影响你阅读全书,并以轻松有趣的方式了解这些算法——就是这样一本神奇的算法书。
然而,时间紧张加之我们翻译水平有限,请恕不能将原作者的精巧行文完美地展现在你面前。译文中难免有不足和疏漏之处,还请不吝批评指正。翻译期间得到了不少朋友的帮助,在此向他们表示感谢。特别感谢我的挚友丁广浩,他目前就职于美国的。在 On-Call Duty 的日子里面,他还抽时间帮我解答疑问,甚是感激。另外,也非常感谢武汉外国语学校的张竞文同学和浙江大学的陈泓宇同学。
好嘞,故事要开始了,让我们跟随Frank探长和Notation警官一起走入这场奇妙之旅。
啊哈磊
ahalei.com
关于作者
Jeremy Kubica 在 Google 任职首席工程师,着力于机器学习和算法方向。他拥有康奈尔大学的计算机科学本科学位和卡耐基梅隆大学的机器人专业博士学位。在研究生期间,他设计了一个算法,可以探测对地球有威胁的小行星(当然,还尚未能阻止那些小行星)。Kubica 同时也是著名博客Computational Fairy Tales的作者。
关于技术审校者
Heidi Newton 拥有新西兰坎特伯雷大学计算机科学专业的学士学位,以及新西兰惠灵顿维多利亚大学计算机科学专业的硕士学位。她目前就职于坎特伯雷大学计算机专业的代码复仇者研究小组,并在业余时间进行相关辅导和咨询工作。她目前致力于改善关于计算机科学和编程的教学资源。
致谢
我要对所有支持本书和为本书做出了贡献的人们深表感谢。
首先,我想向 No Starch 出版社团队的所有人致谢。特别是 Liz Chadwick 和Riley Hoffman 在本书的编辑过程中给予我的帮助、指导和建议。Liz 高质量的建议使得本书的故事内容保持了流畅清晰。同时,我也很感谢她提出的将本书涉及的专业内容以讲义形式呈现的建议。感谢 Bill Pollock 和 Tyler Ortman 的支持,特别感谢 Bill 为本书书名提供的建议。也感谢 Carlos Bueno 向我介绍了 No Starch 出版社。
感谢Miran Lipovacˇa为本书提供了精美的插图。这些插图很好地刻画了本书的人物特色和故事情节。
感谢 Heidi Newton从专业角度进行的细致深度的审校。她的审阅很大程度上确保了本书所涵盖的内容和概念能够以准确易懂的方式呈现出来。非常感谢她针对书中的晦涩难懂处给予的提醒。
同时也感谢所有阅读过本书早期手稿并提供了宝贵建议的人:John Bull、Mike Hochberg、Edith Kubica、Regan Lee和 Kristen “Kit” Subbs 博士。感谢 Ilana Schwarcz 对于本书早期手稿的编辑,以及对本书在行文上的建议和帮助。
最后,我想由衷地感谢我的家人,特别是父母在我孩童时期对于我的计算机兴趣的支持,以及对我写作本书给予的鼓励。
导读
本书关注的是计算机思维和搜索算法。这些故事介绍并阐释了较高层次的计算机思想,探索了它们背后的动机及其在非计算机领域中的应用。本书并不奢望对算法进行非常详尽而全面的描述,书中的故事也不是为了替代计算机科学中那些坚实而严谨的技术性描述。相反,它们的作用更像是插图:对整体思想进行补充,帮助你更好地理解算法。
本书介绍了一系列的计算方法,它们大致上属于搜索算法的范畴。书中每一章首先通过一个故事来讲解算法的大致思想,随后再用讲义的形式来对算法进行更为技术性的解释。读者可以完全跳过这些技术讲解部分,同时又不会错过任何一个精彩的故事。
本书假定你已经对一些基本的计算机科学思想有所了解,但你并不需要掌握任何一门编程语言。本书中的算法适用于各种编程语言和不同领域的问题。
文摘
本书关注的是计算机思维和搜索算法。这些故事介绍并阐释了较高层次的计算机思想,探索了它们背后的动机及其在非计算机领域中的应用。本书并不奢望对算法进行非常详尽而全面的描述,书中的故事也不是为了替代计算机科学中那些坚实而严谨的技术性描述。相反,它们的作用更像是插图:对整体思想进行补充,帮助你更好地理解算法。
本书介绍了一系列的计算方法,它们大致上属于搜索算法的范畴。书中每一章首先通过一个故事来讲解算法的大致思想,随后再用讲义的形式来对算法进行更为技术性的解释。读者可以完全跳过这些技术讲解部分,同时又不会错过任何一个精彩的故事。
本书假定你已经对一些基本的计算机科学思想有所了解,但你并不需要掌握任何一门编程语言。本书中的算法适用于各种编程语言和不同领域的问题。
ISBN | 9787121307645 |
---|---|
出版社 | 电子工业出版社 |
作者 | 杰瑞米·库比卡 (Jeremy Kubica) |
尺寸 | 32 |