【主要内容】本书分4部分,同时用函数式和传统方法介绍主要的基本算法和数据结构,数据结构部分包括二叉树、红黑树、AVL树、Trie、Patricia、后缀树、B树、二叉堆、二项式堆、斐波那契堆、配对堆、队列、序列等;基本算法部分包括各种排序算法、序列搜索算法、字符串匹配算法(KMP等)、深度优先与广度优先搜索算法、贪心算法以及动态规划。本书适合软件开发人员、编程和算法爱好者,以及高校学生阅读参考。 地址: https://github.com/liuxinyu95/AlgoXY
本书特色 【本书特色】
【技术大咖推荐】
算法是每个计算机专业学生的理论课、基础课、必修课,也是区分计算机爱好者与专业计算机从业人员的重要课程。现在市面上五花八门的算法书也很多,但是能把算法结合实际应用生动讲解出来的却凤毛麟角。刘新宇的这本《算法新解》让人眼前一亮,简明的文字配上插图和不同编程语言的实现,让算法学习变得轻松有趣。并且,书中的例子都特别贴近应用,电子字典、用户输入匹配等小应用让人感觉算法无处不在。对于每个例子,这本书也会循序渐进给出更加优化的算法,并力求让读者掌握一种解决问题的思路。虽然我在计算专业领域研究开发多年,在读了刘新宇的《算法新解》以后仍然感觉受益匪浅。我也希望本书的每一位读者,无论是刚入门的学生、有多年编程经验的技术人员,还是从事理论研究的科技人员,都能有所收获。——顾峥博士,LinkedIn高级工程师
《算法新解》七年磨一剑,作者笔耕不辍,几年来常在TopLanguage邮件列表中放出让大家校对,在程序书泛滥的这个时代尤显难能可贵。书中包含大量插图和公式,又结合C++、Haskell、Python、Scheme等多种编程语言实现,命令式、函数式兼顾,准确细致地描述了大量基本算法和习题。——宋方睿,谷歌软件工程师、《Haskell趣学指南》译者
从入行第一天起,我们就被告诫“不要重复造轮子”,但是现成的“轮子”总有一天会无法达到要求。硬件提升总也赶不上数据量的增加,产品人员总能提出让人发疯的新需求,这时我们只有理解原理,才能改进甚至发明可用的新“轮子”。请不要忘记我们的好奇心。离开了功利的驱使,单纯的获取知识,会是另一种愉悦的精神体验。在阅读这本书时,这种体验将始终伴随着你。——陈维扬,小米软件工程师 作译者介绍 【作者介绍】 刘新宇
1999年和2001年分别获得清华大学自动化系学士和硕士学位,之后长期从事软件研发工作。他关注基本算法和数据结构,尤其是函数式算法,目前就职于亚马逊中国仓储和物流技术团队。其GitHub地址:https://github.com/liuxinyu95/AlgoXY
第一部分 树 第1章 二叉搜索树:数据结构中的“hello world” 第2章 插入排序的进化 第3章 并不复杂的红黑树 第4章 AVL树 第5章 基数树:Trie和Patricia 第6章 后缀树 第7章 B树 第二部分 堆 第8章 二叉堆 第9章 从吃葡萄到世界杯:选择排序的进化 第10章 二项式堆、斐波那契堆和配对堆 第三部分 队列和序列 第11章 并不简单的队列 第12章 序列:最后一块砖 第四部分 排序和搜索 第13章 分而治之:快速排序和归并排序 第14章 搜索