本周推荐书籍:算法新解 PDF 高清版_归并排序

内容提要

《算法新解》同时用函数式方法和传统方法介绍了主要的基本算法和数据结构,数据结构部分包括二叉树、红黑树、AVL树、Trie、Patricia、后缀树、B树、二叉堆、二项式堆、斐波那契堆、Pairing堆、队列、序列等;基本算法部分包括各种排序算法、序列搜索算法,字符串匹配算法(KMP等),深度优先、广度有限搜索算法、贪心算法以及动态规划。

目录

序一   常成博士,4数网主编
序二   姚冬,YY直播架构师 
前言
一部分 树
1章 二搜索树:数据结构中的“hello world”    3
1.1 定义    3
1.2 数据组织    5
1.3 入    6
1.4 遍历    8
1.5 搜索    10
1.5.1 lookup    10
1.5.2 小元素和元素    11
1.5.3 前驱和后继    12
1.6     14
1.7 随构建二搜索树    18
2章 入排序的化    19
2.1 简介    19
2.2 入    20
2.3 改一:二分查找    20
2.4 改二:使用链表    22
2.5 使用二搜索树的终改    26
2.6 小结    27
3章 并不复杂的树    28
3.1 树的定义    32
3.2 入    33
3.3     36
3.4 命令的树 *    44
3.5 小结    47
4章 AVL树    48
4.1 AVL树的定义    48
4.2 入    51
4.2.1 衡调整    53
4.2.2 模匹配    57
4.3     59
4.4 AVL树的命令 *    59
4.5 小结    63
5章 基数树:Trie和Patricia    65
5.1 整数Trie    65
5.1.1 整数Trie的定义    67
5.1.2 入    67
5.1.3 查找    69
5.2 整数Patricia    70
5.2.1 定义    71
5.2.2 入    72
5.2.3 查找    78
5.3 字符Trie    80
5.3.1 定义    80
5.3.2 入    81
5.3.3 查找    83
5.4 字符Patricia    84
5.4.1 定义    84
5.4.2 入    85
5.4.3 查找    90
5.5 Trie和Patricia的应用    92
5.5.1 子词典和单词自动补齐    92
5.5.2 T9输入    97
5.6 小结    102
6章 后缀树    103
6.1 后缀Trie    104
6.1.1 节点转移和后缀链接    105
6.1.2 on-line构造    107
6.2 后缀树    111
6.3 后缀树的应用    121
6.3.1 字符串搜索和模匹配    121
6.3.2 查找长重复子串    123
6.3.3 查找长公共子串    125
6.3.4 查找长回文    127
6.3.5 其他    128
6.4 小结    128
7章 B树    129
7.1 入    131
7.2     139
7.2.1 前预合并    139
7.2.2 先再修复    139
7.3 搜索    153
7.4 小结    155
二部分 堆
8章 二堆    159
8.1 用数组实现隐二堆    159
8.1.1 定义    159
8.1.2 Heapify    160
8.1.3 构造堆    163
8.1.4 堆的基本作    164
8.1.5 堆排序    168
8.2 左偏堆和skew堆:显的二堆    169
8.2.1 定义    170
8.2.2 合并    172
8.2.3 基本堆作    173
8.2.4 使用左偏堆实现堆排序    174
8.2.5 skew堆    174
8.3 伸展堆    177
8.3.1 定义    177
8.3.2 堆排序    183
8.4 小结    183
9章 从吃葡萄到世界杯:选择排序的化    184
9.1 查找小元素    186
9.1.1 标记    186
9.1.2 分组    188
9.1.3 选择排序的性能    189
9.2 细微改    190
9.2.1 比较方参数化    190
9.2.2 细微调整    191
9.2.3 尾酒排序    192
9.3 本质改    196
9.3.1 锦标赛淘汰    196
9.3.2 使用堆排序行后的改    204
9.4 小结    204
10章 二项堆、斐那契堆和配对堆    205
10.1 二项堆    205
10.1.1 定义    205
10.1.2 基本的堆作    209
10.2 斐那契堆    220
10.2.1 定义    220
10.2.2 基本堆作    221
10.2.3 出作的性能分析    230
10.2.4 减小key    232
10.2.5 “斐那契堆”名字的由来    234
10.3 配对堆    237
10.3.1 定义    237
10.3.2 基本堆作    238
10.4 小结    244
三部分 队列和序列
11章 并不简单的队列    247
11.1 单向链表和循环缓冲区实现的队列    247
11.1.1 单向链表实现    247
11.1.2 循环缓冲区实现    251
11.2 纯函数实现    253
11.2.1 双列表队列    254
11.2.2 双数组队列:一种对称实现    255
11.3 小改:衡队列    257
11.4 一步改:队列    259
11.5 惰性队列    266
11.6 小结    269
12章 序列:后一块砖    271
12.1 二随访问列表    271
12.1.1 普通数组和列表    271
12.1.2 使用森林表示序列    272
12.1.3 在序列的头部入    273
12.2 二随访问列表的数值表示    279
12.3 命令双数组列表    285
12.3.1 定义    285
12.3.2 入和添加    286
12.3.3 随访问    286
12.3.4 和衡    287
12.4 可连接列表    289
12.5 手指树    293
12.5.1 定义    293
12.5.2 向序列的头部入元素    295
12.5.3 从头部元素    298
12.5.4 时处理不规则的手指树    300
12.5.5 在序列的尾部添加元素    304
12.5.6 从尾部元素    306
12.5.7 连接    307
12.5.8 手指树的随访问    312
12.6 小结    325
四部分 排序和搜索
13章 分而治之:快速排序和归并排序    329
13.1 快速排序    329
13.1.1 基本形    330
13.1.2 严格弱序    331
13.1.3 划分    331
13.1.4 函数划分的小改    335
13.2 快速排序的性能分析    337
13.3 程实践中的改    340
13.4 针对差情况的程实践    348
13.5 其他程实践    351
13.6 其他    351
13.7 归并排序    352
13.8 原地归并排序    360
13.8.1 死板原地归并    360
13.8.2 原地作区    362
13.8.3 原地归并排序与链表归并排序    366
13.9 自然归并排序    368
13.10 自底向上归并排序    374
13.11 并行处理    377
13.12 小结    377
14章 搜索    379
14.1 序列搜索    379
14.1.1 分而治之的搜索    379
14.1.2 信息复用    400
14.2 解的搜索    428
14.2.1 深度优先搜索和广度优先搜索    428
14.2.2 搜索优解    468
14.3 小结    498
附录 列表    500
列表的定义    500
列表的基本作    502
变换    527
提取子列表    536
fold    543
搜索和匹配    549
zip和unzip    555
小结    558
参考文献    559
索引    563

作者:  master编程树

来源:  http://www.mastercode985.top/r-c/dinfo2/771

每日为大家分享前沿书籍,欢迎关注