图书介绍

数据结构 思想与实现 第2版PDF|Epub|txt|kindle电子书版本网盘下载

数据结构 思想与实现 第2版
  • 翁惠玉,俞勇编著 著
  • 出版社: 北京:高等教育出版社
  • ISBN:9787040486995
  • 出版时间:2017
  • 标注页数:467页
  • 文件大小:154MB
  • 文件页数:479页
  • 主题词:数据结构

PDF下载


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

下载说明

数据结构 思想与实现 第2版PDF格式电子书版下载

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

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

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

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

图书目录

第1章 引言1

1.1 算法与数据结构1

1.1.1 数据的逻辑结构2

1.1.2 数据结构的运算3

1.2 存储实现4

1.3 算法分析4

1.3.1 时间复杂度的概念5

1.3.2 算法运算量的计算6

1.3.3 渐进时间复杂度7

1.3.4 时间复杂度的计算9

1.3.5 算法的优化10

1.3.6 空间复杂度16

1.4 面向对象方法16

本书的结构和特点18

总结18

练习119

第1部分 线性结构22

第2章 线性表22

2.1 线性表的定义22

2.2 线性表的顺序实现24

2.2.1 顺序表的存储实现24

2.2.2 顺序表的运算实现26

2.2.3 顺序实现的性能分析30

2.2.4 顺序表的简单示例30

2.3 线性表的链接实现31

2.3.1 单链表32

2.3.2 双链表39

2.3.3 循环链表45

2.3.4 链表的性能分析45

2.4 标准模板库(STL)中的线性表46

2.4.1 容器和迭代器的概念46

2.4.2 STL中的线性表类47

2.5 线性表的应用51

2.5.1 大整数处理51

2.5.2 多项式求和58

2.5.3 约瑟夫环60

2.5.4 动态内存管理62

总结65

练习265

第3章 栈68

3.1 栈的定义68

3.2 栈的顺序实现70

3.2.1 顺序栈的存储实现70

3.2.2 顺序栈的运算实现71

3.2.3 顺序栈性能分析73

3.2.4 顺序栈的简单示例73

3.3 栈的链接实现74

3.3.1 链接栈的存储实现74

3.3.2 链接栈的运算实现75

3.3.3 链接栈的简单示例77

3.4 STL中的栈78

3.5 栈的应用79

3.5.1 递归消除79

3.5.2 括号配对82

3.5.3 简单的计算器92

总结102

练习3103

第4章 队列104

4.1 队列的定义104

4.2 队列的顺序实现105

4.2.1 顺序队列的存储实现105

4.2.2 循环队列的运算实现109

4.2.3 循环队列简单示例111

4.3 队列的链接实现113

4.3.1 链接队列的存储实现113

4.3.2 链接队列的运算实现115

4.3.3 链接队列简单示例117

4.4 STL中的队列119

4.5 队列的应用120

4.5.1 火车车厢重排问题120

4.5.2 排队系统的模拟123

总结128

练习4129

第5章 字符串130

5.1 字符串的定义130

5.2 字符串的顺序实现131

5.2.1 顺序串的存储实现131

5.2.2 顺序串的运算实现133

5.3 字符串的链接实现137

5.3.1 链接串的存储实现137

5.3.2 链接串类的运算实现140

5.4 字符串的匹配149

5.5 STL的字符串类152

总结153

练习5153

第2部分 树状结构156

第6章 树156

6.1 树的定义156

6.1.1 树的基本术语156

6.1.2 树的基本运算157

6.2 二叉树158

6.2.1 二叉树的定义158

6.2.2 二叉树的常用性质159

6.2.3 二叉树的基本运算161

6.2.4 二叉树的顺序实现165

6.2.5 二叉树的链接实现166

6.2.6 二叉链表类168

6.3 二叉树的应用:计算表达式182

6.4 哈夫曼树和哈夫曼编码194

6.4.1 前缀编码194

6.4.2 哈夫曼算法196

6.4.3 哈夫曼树类的实现196

6.5 树和森林203

6.5.1 树的存储实现203

6.5.2 树的遍历205

6.5.3 树、森林与二叉树的转换205

总结207

练习6208

第7章 优先级队列210

7.1 基于线性表的优先级队列210

7.2 基于树的优先级队列211

7.2.1 优先级队列的存储实现211

7.2.2 优先级队列的运算实现213

7.3 D堆221

7.4 归并优先级队列221

7.4.1 左堆221

7.4.2 斜堆223

7.4.3 二项堆223

7.5 STL中的优先级队列226

7.6 优先级队列的应用:排队系统的模拟227

总结233

练习7233

第3部分 集合结构236

第8章 集合与静态查找表236

8.1 集合的定义236

8.2 查找的基本概念237

8.3 静态查找表237

8.4 无序表的查找238

8.4.1 顺序查找238

8.4.2 顺序查找的时间复杂度分析239

8.5 有序表的查找240

8.5.1 顺序查找240

8.5.2 二分查找240

8.5.3 插值查找242

8.5.4 分块查找242

8.6 STL中的静态查找表244

总结245

练习8245

第9章 动态查找表247

9.1 二叉查找树248

9.1.1 二叉查找树的定义248

9.1.2 二叉查找树的存储实现248

9.1.3 二叉查找树的运算实现250

9.1.4 二叉查找树性能257

9.2 AVL树258

9.2.1 AVL树的定义258

9.2.2 AVL树的存储实现260

9.2.3 AVL树的运算实现261

9.3 红黑树273

9.3.1 红黑树的定义273

9.3.2 红黑树的存储实现274

9.3.3 红黑树的运算实现276

9.4 AA树291

9.4.1 AA树的定义291

9.4.2 AA树的存储实现292

9.4.3 AA树的运算实现293

9.5 伸展树301

9.5.1 伸展树的定义301

9.5.2 伸展操作的实现303

9.6 散列表305

9.6.1 散列表的定义305

9.6.2 线性探测法308

9.6.3 二次探测法312

9.6.4 再散列法314

9.6.5 开散列表314

9.7 STL中的动态查找表318

9.7.1 set318

9.7.2 map319

总结321

练习9321

第10章 排序324

10.1 排序的基本概念324

10.2 插入排序325

10.2.1 直接插入排序325

10.2.2 二分插入排序327

10.2.3 希尔排序327

10.3 选择排序329

10.3.1 直接选择排序330

10.3.2 堆排序331

10.4 交换排序334

10.4.1 冒泡排序334

10.4.2 快速排序335

10.5 归并排序340

10.6 基数排序343

10.7 STL中的排序346

总结347

练习10348

第11章 外部查找与排序350

11.1 主存储器与外存储器350

11.2 B树351

11.2.1 B树的定义351

11.2.2 B树的查找353

11.2.3 B树的插入353

11.2.4 B树的删除354

11.3 B+树355

11.3.1 B+树的定义355

11.3.2 B+树的查找357

11.3.3 B+树的插入357

11.3.4 B+树的删除359

11.4 外排序361

11.4.1 置换选择361

11.4.2 多阶段归并363

总结364

练习11364

第12章 不相交集366

12.1 等价关系与等价类366

12.2 不相交集367

12.3 不相交集的实现367

12.3.1 不相交集的存储实现367

12.3.2 不相交集的运算实现368

12.4 不相交集的应用372

12.4.1 生成迷宫372

12.4.2 最近的共同祖先问题374

总结375

练习12375

第4部分 图状结构378

第13章 图378

13.1 图的定义378

13.1.1 图的基本术语379

13.1.2 图的基本运算381

13.2 图的存储382

13.2.1 邻接矩阵表示法382

13.2.2 邻接表表示法386

13.3 图的遍历391

13.3.1 深度优先搜索391

13.3.2 广度优先搜索394

13.4 图的遍历的应用397

13.4.1 无向图的连通性397

13.4.2 欧拉回路397

13.4.3 有向图的连通性402

13.4.4 拓扑排序403

13.4.5 关键路径405

总结409

练习13410

第14章 最小生成树413

14.1 生成树和最小生成树413

14.2 Kruskal算法414

14.3 Prim算法417

14.4 算法的正确性421

总结422

练习14422

第15章 最短路径问题423

15.1 单源最短路径423

15.1.1 非加权图的最短路径423

15.1.2 加权图的最短路径429

15.1.3 带有负权值的图434

15.1.4 无环图435

15.2 所有顶点对的最短路径436

总结439

练习15439

第5部分 算法设计基础442

第16章 算法设计基础442

16.1 枚举法442

16.2 贪婪法444

16.3 分治法444

16.3.1 整型数的乘法问题444

16.3.2 平面上的最近点问题445

16.4 动态规划446

16.4.1 硬币找零问题447

16.4.2 最优二叉查找树449

16.5 回溯法453

16.5.1 八皇后问题453

16.5.2 分书问题456

16.6 随机算法458

16.6.1 跳表458

16.6.2 素数检测460

总结462

练习16463

参考文献465

热门推荐