图书介绍

高级数据结构 C++版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

高级数据结构 C++版
  • 林厚从著 著
  • 出版社: 南京:东南大学出版社
  • ISBN:9787564147369
  • 出版时间:2017
  • 标注页数:421页
  • 文件大小:60MB
  • 文件页数:437页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

高级数据结构 C++版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 哈希表1

1.1 哈希表的基本原理1

1.2 哈希表的基本概念2

1.3 哈希函数的构造3

1.4 哈希表的基本操作5

1.5 冲突的处理6

1.6 哈希表的性能分析11

1.7 哈希表的应用举例12

1.8 本章习题25

第2章 树与二叉树30

2.1 树30

2.1.1 树的存储结构31

2.1.2 树的遍历32

2.2 二叉树35

2.2.1 普通树转换成二叉树37

2.2.2 二叉树的遍历38

2.2.3 二叉树的其他操作39

2.2.4 二叉树的形态40

2.3 二叉排序树45

2.4 哈夫曼二叉树59

2.5 字典树65

2.6 本章习题75

第3章 优先队列与二叉堆82

3.1 优先队列82

3.2 二叉堆84

3.2.1 Put操作84

3.2.2 Get操作85

3.3 可并堆93

3.3.1 左偏树的定义93

3.3.2 左偏树的基本操作94

3.4 本章习题100

第4章 并查集107

4.1 并查集的主要操作107

4.2 并查集的实现108

4.2.1 并查集的数组实现108

4.2.2 并查集的链表实现108

4.2.3 并查集的树实现109

4.3 并查集的应用举例113

4.4 本章习题126

第5章 线段树133

5.1 线段树的应用背景133

5.2 线段树的初步实现133

5.2.1 线段树的结构133

5.2.2 线段树的性质134

5.2.3 线段树的存储134

5.2.4 线段树的常用操作135

5.2.4.1 线段树的构造135

5.2.4.2 线段树的查询136

5.2.4.3 线段树的修改136

5.2.4.4 线段树的延迟修改137

5.3 线段树在一些经典问题中的应用139

5.3.1 逆序对问题139

5.3.2 矩形覆盖问题143

5.4 线段树的扩展147

5.4.1 用线段树优化动态规划147

5.4.2 将线段树扩展到高维151

5.4.3 线段树与平衡树的结合157

5.5 线段树与其他数据结构的比较166

5.6 线段树的应用举例166

5.7 本章习题177

第6章 树状数组180

6.1 树状数组的问题模型180

6.2 树状数组的基本思想180

6.3 树状数组的实现182

6.3.1 子集的划分方法182

6.3.2 查询前缀和183

6.3.3 修改子集和183

6.4 树状数组的常用技巧184

6.4.1 查询任意区间和184

6.4.2 利用sum数组求出原数组a的某个元素值184

6.4.3 找到某个前缀和对应的前缀下标index184

6.4.4 成倍扩张/缩减185

6.4.5 初始化树状数组185

6.5 树状数组与线段树的比较185

6.6 树状数组扩展到高维的情形185

6.7 树状数组的应用举例186

6.8 本章习题200

第7章 伸展树204

7.1 伸展树的主要操作204

7.1.1 伸展操作205

7.1.2 伸展树的基本操作206

7.2 伸展树的算法实现207

7.3 伸展树的效率分析212

7.4 伸展树的应用举例214

7.5 本章习题224

第8章 Treap228

8.1 Treap的基本操作228

8.2 Treap的算法实现231

8.3 Treap的应用举例234

8.4 本章习题239

第9章 平衡树245

9.1 AVL树245

9.2 红-黑树252

9.3 SBT262

9.3.1 SBT的基本操作263

9.3.2 SBT的效率分析269

9.3.3 SBT的算法实现272

9.4 本章习题276

第10章 块状链表与块状树281

10.1 块状链表的基本思想281

10.2 块状链表的基本操作282

10.3 块状链表的扩张286

10.3.1 维护区间和以及区间最值286

10.3.2 维护局部数据有序化287

10.3.3 维护区间翻转287

10.4 块状链表与其他数据结构的比较287

10.5 分块思想在树上的应用——块状树287

10.6 块状链表的应用举例288

10.7 本章习题316

第11章 后缀树与后缀数组320

11.1 后缀树的简介320

11.2 后缀树的定义320

11.3 后缀树的构建321

11.3.1 后缀树的朴素构建算法321

11.3.2 后缀树的线性时间构建算法321

11.3.2.1 隐式树的朴素构建322

11.3.2.2 扩展规则约定323

11.3.2.3 后缀链加速324

11.3.2.4 进一步加速325

11.3.2.5 后缀树拓展到多串的形式326

11.3.2.6 代码实现326

11.3.2.7 相关证明332

11.4 后缀树的应用332

11.4.1 字符串(集合)的精确匹配333

11.4.1.1 情形一333

11.4.1.2 情形二333

11.4.1.3 情形三334

11.4.1.4 情形四335

11.4.2 公共子串问题335

11.4.2.1 情形五335

11.4.2.2 情形六336

11.4.2.3 情形七336

11.4.2.4 情形八337

11.4.2.5 情形九338

11.4.3 重复子串问题338

11.4.3.1 情形十338

11.4.3.2 情形十一340

11.4.3.3 情形十二340

11.5 后缀数组的简介341

11.6 后缀数组的定义341

11.7 后缀数组的构建343

11.7.1 一种直接的构建算法343

11.7.2 倍增算法343

11.7.2.1 倍增算法描述343

11.7.2.2 倍增算法代码344

11.7.3 由后缀树得到后缀数组346

11.7.4 DC3算法和DC算法346

11.7.4.1 DC3算法346

11.7.4.2 DC算法351

11.8 LCP的引入352

11.9 后缀数组的应用354

11.9.1 后缀排序的直接应用354

11.9.1.1 Burrows-Wheeler变换354

11.9.1.2 多模式串的匹配355

11.9.2 通过引入LCP优化355

11.9.2.1 多模式串的匹配355

11.9.2.2 重复子串问题357

11.9.2.3 最长回文子串359

11.9.2.4 最长公共子串360

11.9.3 后缀数组的应用举例361

11.10 本章习题378

第12章 树链剖分与动态树380

12.1 树链剖分的思想和性质380

12.2 树链剖分的实现及应用382

12.3 动态树的初探396

12.3.1 动态树的常用功能396

12.3.2 动态树的简单情形397

12.4 动态树的实现399

12.4.1 动态树的基本操作及其实现399

12.4.1.1 动态树的问题模型399

12.4.1.2 用Splay维护实路径400

12.4.2 动态树操作的时间复杂度分析402

12.4.2.1 动态树操作的次数402

12.4.2.2 Splay操作的平摊时间402

12.5 动态树的经典应用403

12.5.1 求最近公共祖先403

12.5.2 并查集操作403

12.5.3 求最大流403

12.5.4 求生成树403

12.6 动态树的应用举例403

12.7 本章习题418

致谢421

热门推荐