《算法新解》作者刘新宇:新书《基本算法》开源,LaTeX 制作非常用心

发布于 2024-12-03 17:31:32

刘新宇于 1999 年和 2001 年在清华大学自动化系分别获得学士和硕士学位,长期从事软件研发工作,现就职于亚马逊中国仓储和物流技术团队,他关注基本算法和数据结构,尤其函数式算法。

刘老师有个书《算法新解》,他七年磨一剑,笔耕不辍,写成《算法新解》一书。《算法新解》总共分4部分——树、堆、队列和序列、排列和搜索,用函数式和传统方法介绍主要的基本算法和数据结构,数据结构部分包括二叉树、红黑树、AVL树、Trie、Patricia、后缀树、B树、二叉堆、二项式堆、斐波那契堆、配对堆、队列、序列等;基本算法部分包括各种排序算法、序列搜索算法、字符串匹配算法(KMP等)、深度优先与广度优先搜索算法、贪心算法以及动态规划。

image.png

如果大家有兴趣可以买一个书看看。

刘老师重新版本《基本算法》开源了

历史上,费马、伽罗瓦、高斯、黎曼等人的作品出版经历各有不同,而我们应感激那些保存、传播知识的人。刘老师自 2009 年起在线分享函数式算法等内容,2017 年出版中文版书籍,后收集反馈从 2020 年底重写,2023 年 5 月完成新版。

整个书稿都是 LaTeX 完成的。 基础信息如下:

  • 介绍基础算法和数据结构,包含纯函数式实现与其命令式对应实现的对比,有 119 个练习及答案。
  • 目录包括前言、各章节(如列表、二叉搜索树、插入排序、红黑树、AVL 树、基数树、B - 树、二叉堆、选择排序、二项堆、斐波那契堆、配对堆、队列、序列、分治排序、搜索等章节)以及附录和答案。
  • 提供了 PDF 预览下载链接(英文、中文),新书在github也可获取。

相对于之前的书稿主要变化如下:

  1. 重写所有章节,使用简单的符号代替冗长的文本描述。
  2. 重新组织书籍结构。(a) 将列表移动到第一章,使其对新接触函数式编程的读者更友好;(b) 在第 7 章中添加了配对列表 B 树的部分。将红黑树和 AVL 树的删除算法添加到附录中;(c) 删除了后缀树的章节。对于命令式字符串匹配,重点关注 KMP 算法,并删除了 Boyer-Moore 算法;(d) 添加了所有 120 个练习的答案。
  3. 统一示例程序的编程语言。这是对第一版的主要反馈之一。使用 Haskell 作为函数式示例的语言,并将命令式示例统一到一个名为“布尔巴基”的语言中(布尔巴基是一群(主要是)法国数学家的笔名,包括安德烈·韦伊、亨利·嘉当等。这个虚拟人物表明编程语言并不存在,而它反映了背后的一些流行语言,如 Python、Java、C 等)。将示例收集在每章后面的附录中。
  4. 更正第一版中所有已知的错误。

书稿获取

作者附注:仅供学习交流用途。

书稿地址:https://github.com/liuxinyu95/AlgoXY

若您不方便获取,可以从网盘获得:
链接:https://pan.baidu.com/s/1-mD0oNRry336qQs04RThDg?pwd=c94g 提取码:c94g

夸克网盘:https://pan.quark.cn/s/d5b4b1b41151

algoxy-en_0.png
algoxy-en_10.png
algoxy-en_16.png
algoxy-zh-cn_0.png
algoxy-zh-cn_11.png
algoxy-zh-cn_12.png
algoxy-zh-cn_18.png
algoxy-zh-cn_22.png

0 条评论

发布
问题