经典算法书单
经典算法书单
图灵算法书单
2017-07-24 张敏,英子
算法书单
本书单涉及 16 本算书,按照算法的实现语言分类列出,TAOCP放到了后面。
Python
⊙
《算法图解》
Java
⊙
《算法(第4版)》【中英文版】
C/C++
⊙
《啊哈!算法》
⊙
《挑战程序设计竞赛》
⊙
《挑战程序设计竞赛2:数据结构与算法》
⊙
《算法问题实战策略》
⊙
《算法的乐趣》
JS
⊙ 《学习JavaScript数据结构与算法》
⊙
《数据结构与算法JavaScript描述》
多语言
⊙
《程序员的算法趣题》
⊙ 《算法新解》
⊙
《垃圾回收的算法与实现》
伪代码
⊙
《算法基础(第5版)》
TAOCP
⊙ 《计算机程序设计艺术 卷1:基本算法》
⊙ 《计算机程序设计艺术 卷2:半数值算法》
⊙ 《计算机程序设计艺术 卷3:排序与查找》
算法席卷全球
⊙
《算法帝国》
PS:如果你在学习算法的同时,也需要阅读一些数学书籍,那么请点击
哪些书》。
Python
算法图解
作者:Aditya Bhargava
译者:袁国忠
- 简单易懂的算法教程
- 400多个示意图,详细介绍算法执行过程,展示不同算法在性能方面的优缺点
- 基于Python的代码示例
本书示例丰富,图文并茂,以让人容易理解的方式阐释了算法,旨在帮助程序员在日常项目中更好地发挥算法的能量。书中的前三章将帮助你打下基础,带你学习二分查找、大O表示法、两种基本的数据结构以及递归等。余下的篇幅将主要介绍应用广泛的算法,具体内容包括:面对具体问题时的解决技巧,比如,何时采用贪婪算法或动态规划;散列表的应用;图算法;K最近邻算法。
Java
1. 算法(第4版)
作者:Kevin Wayne,Robert Sedgewick
译者:谢路云
- Sedgewick之巨著,与高德纳TAOCP一脉相承
- 几十年多次修订,经久不衰的畅销书
- 涵盖所有程序员必须掌握的50种算法
- 分中文版和英文版,豆瓣9.4分
本书作为算法领域经典的参考书,全面介绍了关于算法和数据结构的必备知识,并特别针对排序、搜索、图处理和字符串处理进行了论述。第4版具体给出了每位程序员应知应会的50个算法,提供了实际代码,而且这些Java代码实现采用了模块化的编程风格,读者可以方便地加以改造。本书配套网站提供了书中内容的摘要及更多的代码实现、测试数据、练习、教学课件等资源。
C/C++
2. 啊哈!算法—— 你一定能看懂的入门书
作者:啊哈磊
- 没有枯燥的描述,没有难懂的公式
- 一切以实际应用为出发点,通过幽默的语言配以可爱的插图来讲解算法
- 在轻松愉悦中便掌握算法精髓,感受算法之美
- 豆瓣8.1分
本书中涉及的数据结构有栈、队列、链表、树、并查集、堆和图等;涉及的算法有排序、枚举、 深度和广度优先搜索、图的遍历,当然还有图论中不可以缺少的四种最短路径算法、两种最小生成树算法、 割点与割边算法、二分图的最大匹配算法等。
3. 挑战程序设计竞赛
作者:秋叶拓哉,岩田阳一,北川宜稔
译者:巫泽俊 庄俊元 李津羽
- 世界顶级程序设计高手的经验总结
- 【ACM-ICPC全球总冠军】巫泽俊主译
- 日本ACM-ICPC参赛者人手一册
- 豆瓣9.1分
本书对程序设计竞赛中的基础算法和经典问题进行了汇总,分为准备篇、初级篇、中级篇与高级篇4章。作者结合自己丰富的参赛经验,对严格筛选的110 多道各类试题进行了由浅入深、由易及难的细致讲解,并介绍了许多实用技巧。每章后附有习题,供读者练习,巩固所学。
4. 挑战程序设计竞赛2:数据结构与算法
作者:渡部有隆
译者:支鹏浩
- 豆瓣评分9.1的图灵经典《挑战程序设计竞赛》系列第2弹
- 网罗算法和数据结构的关键知识点
- 系统学习基础知识,有效运用在线评测(AIZU ONLINE JUDGE)
- 入门、挑战、进阶,享受收集算法的乐趣
本书分为准备篇、基础篇和应用篇三大部分,借助在线评测系统Aizu Online Judge以及大量例题,详细讲解了算法与复杂度、初等和高等排序、搜索、递归和分治法、动态规划法、二叉搜索树、堆、图、计算几何学、数论等算法和数据结构的关键知识点。
5. 算法问题实战策略
作者:具宗万
译者:崔盛一
- 算法竞赛领域的权威人士多年经验总结
- 收录程序设计竞赛经典试题
- 学习解题技巧时必不可少的宝典
本书通过解答编程竞赛中的问题使读者能够学习到各种算法的设计技巧和算法结构,进而能够提高读者的问题解决能力。
6. 算法的乐趣
作者:王晓华
- CSDN超人气博主、算法专栏达人王晓华力作
- 《啊哈!算法》作者大力推荐
- 从有趣的生活实例出发,广泛涵盖常用算法结构及其应用
- 豆瓣评分8.1分
算法之大,大到可以囊括宇宙万物的运行规律;算法之小,小到寥寥数行代码即可展现一个神奇的功能。一本书带你走进色彩缤纷的算法世界,让你尽享算法的乐趣。
有读者评论说:先展示有趣的问题,再展示优雅的算法,最后归纳设计思路,是《算法的乐趣》最吸引人的地方。
7. 学习JavaScript数据结构与算法
作者:Loiane Groner
译者:孙晓博 邓钢 吴双 陈迪 袁源
- 用JS学习最常用的数据结构和算法
- 高效解决计算机科学中的常见问题
本书首先介绍了JavaScript语言的基础知识,接着讨论了数组、队列、栈和链表等最重要的数据结构,接下来深入分析了散列表、字典和集合的工作原理,然后阐述了什么是树以及如何使用二叉树和二叉搜索树。之后,你还会学到图、DFS和BFS算法,学会如何区分顺序搜索、二分搜索、快速排序、冒泡排序等各种搜索和排序算法,以及如何实现它们。本书最后还介绍了动态规划和贪心算法等高级算法。
8. 数据结构与算法JavaScript描述
作者 Michael McMillan
译者 王群锋,杜欢
- 用JavaScript描述数据结构与算法的开山之作,填补了市场空白
- 汇聚了作者多年的实战经验
这本实战指南通过丰富的示例,向读者透彻讲解了在JavaScript环境下,如何通过一系列存储机制(包括链表、栈、队列和图)高效地达到编程目的。
多语言
9.程序员的算法趣题
作者:增井敏克
译者:绝云
定价:55.00元
- 2016日本IT技术图书大赏获奖作品
- 日本人气算法训练栏目“每周算法”精选辑录
- 140,000程序员挑战过的算法PUZZLE
本书是一本解谜式的趣味算法书,从实际应用出发,通过趣味谜题的解谜过程,引导读者在愉悦中提升思维能力、掌握算法精髓。
此外,本书作者在谜题解答上,通过算法的关键原理讲解,从思维细节入手,发掘启发性算法新解,并辅以Ruby、JavaScript等不同语言编写的源代码示例,使读者在算法思维与编程实践的分合之间,切实提高编程能力。
10. 算法新解
作者:刘新宇
定价:99
- 语言实现涵盖C++、Haskell、Python、Scheme等
- 七年磨一剑,亚马逊中国高级研发人员重磅力作
- 函数式算法与常规算法对照解读
- 伪代码与多语言实现并存,充分发挥语言特性
- 理论与实例结合,轻松学习算法与数据结构
- 内含ACM竞赛趣题和传统趣题,发现算法的乐趣
本书的一大特色就是提供了多种编程语言的算法实现代码,并且充分利用了各种语言特性。
本书共分4部分,同时用函数式和传统方法介绍主要的基本算法和数据结构,数据结构部分包括二叉树、红黑树、AVL树、Trie、Patricia、后缀树、B树、二叉堆、二项式堆、斐波那契堆、配对堆、队列、序列等;基本算法部分包括各种排序算法、序列搜索算法、字符串匹配算法(KMP等)、深度优先与广度优先搜索算法、贪心算法以及动态规划。
11. 垃圾回收的算法与实现
作者:中村成洋 相川光
审校:竹内郁雄
译者:丁灵
- Ruby之父松本行弘推荐,日本天才程序员兼LISP黑客竹内郁雄审校
- 254幅图解,轻松掌握GC经典算法
- 实际源码剖析,深入探讨GC具体实现
- 介绍了垃圾回收在Python、DalvikVM、Rubinius、V8等几种语言处理程序中的具体实现
本书分为“算法篇”和“实现篇”两大部分。算法篇介绍了标记–清除算法、引用计数法、复制算法、标记–压缩算法、保守式GC、分代垃圾回收、增量式垃圾回收、RC Immix算法等几种重要的算法;实现篇介绍了垃圾回收在Python、DalvikVM、Rubinius、V8等几种语言处理程序中的具体实现。本书适合各领域程序员阅读。
Java/C++伪代码
12. 算法基础——自学复杂算法的理想读物
- 使用C++和Java伪代码而不是真正的代码,帮助读者理解复杂算法
- 不需要微积分背景知识
- 提供了大量示例,帮助读者理解和掌握理论概念
本书通过大量示例介绍了算法设计、算法的复杂度分析以及计算复杂度。主要内容有:算法设计与分析、分而治之方法、动态规划方法、贪婪方法、回溯算法、分支定界算法、计算复杂度、难解性和NP理论、遗传算法和遗传编程、数论算法、并行算法等。此外,本书在每章末尾都提供了大量练习,而且还提供了全面的教辅材料及答案,是学习算法设计与分析的理想读物。
TAOCP
《计算机程序设计艺术》系列是公认的计算机科学领域权威之作,深入阐述了程序设计理论,对计算机领域的发展有着极为深远的影响。
数十年来,一直是广大学生、研究人员和业内人士学习程序设计理论和实践的无价之宝。这一宏伟浩大的工程始于1962年,计划出版7卷,目前已经出版了4卷。
- 经典计算机科学巨著重装上市
- 最年轻图灵奖得主、伟大的程序员高德纳(Donald E. Knuth)作品
- 入选《美国科学家》20 世纪最重要的12 部学术专著
13.《计算机程序设计艺术 卷1:基本算法》
作者:高德纳
译者:李伯民 范明 蒋爱军
《卷1:基本算法(第3版)》讲解基本算法,其中包含了其他各卷都需用到的基本内容。本卷从基本概念开始,然后讲述信息结构,并辅以大量的习题及答案。
14.《计算机程序设计艺术 卷2:半数值算法》
作者:高德纳
译者:
巫斌 范明
《卷2:半数值算法(第3版)》
全面讲解了半数值算法,分“随机数”和“算术”两章。书中总结了主要算法范例及这些算法的基本理论,广泛剖析了计算机程序设计与数值分析间的相互联系。
15. 《计算机程序设计艺术 卷3:排序与查找》
作者:高德纳
译者:贾洪峰
《卷3:排序与查找(第2版)》 扩展了卷1中信息结构的内容,主要讲排序和查找。书中对排序和查找算法进行了详细的介绍并对各种算法的效率做了大量的分析。
算法席卷全球
16. 算法帝国
作者:克里斯托弗•斯坦纳
译者:李筱莹
- 一次无情算法掌控华尔街的传奇故事
- 英特尔中国研究院院长 吴甘沙鼎力推荐!
- 跟随《纽约时报》畅销书作者、TED演讲人Steiner,预见算法的学习与推理逻辑
算法的应用涵盖金融、医疗、法律、体育、娱乐、外交、文化、国家安全等诸多方面,显现出源于人类而又超乎人类的强大威力。本书通过一个又一个引人入胜的故事,向读者介绍了算法掌控世界的真实情况,揭示了“机器人革命”是如何悄悄地在我们身边发生的。
【阅读原文】查看“ 程序员学数学
需要看哪些书 ”