开源电子书《基本函数式算法》第二版
github.com/liuxinyu95/AlgoXY
作者刘新宇,本书第一版之前发过,那时还叫“算法新解”,也出过实体版(图2)。
第二版重写了所有章节,尽量用符号和形式化的表达替换掉繁冗的叙述。统一了例子程序语言。函数式用 Haskell 作为例子,命令式用虚拟语言 Bourbaki。
主要内容为:树、堆、队列和序列、排列和搜索,用函数式和传统方法介绍主要的基本算法和数据结构,数据结构部分包括二叉树、红黑树、AVL树、Trie、Patricia、后缀树、B树、二叉堆、二项式堆、斐波那契堆、配对堆、队列、序列等;基本算法部分包括各种排序算法、序列搜索算法、字符串匹配算法(KMP等)、深度优先与广度优先搜索算法、贪心算法以及动态规划。