《深入浅出数据结构与算法》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:刘晓华,肖进杰等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2015
  • ISBN:9787302407225
  • 页数:260 页
图书介绍:本教材共分为8章。第一章综述数据、数据结构和抽象数据类型等基本概念;第二章至第六章分别讨论了线性表、栈、队列、串、数组、广义表、树和二叉树以及图等基本类型的数据结构及其应用;第七章至第八章讨论了查找和内部排序,除了介绍各种方法之外,还着重从时间上进行了定性和定量的分析和比较。除此之外,每章配备了相应的练习题。

第1章 绪论 1

1.1什么是数据结构 1

1.1.1学习数据结构的目的 1

1.1.2有关概念和术语 4

1.2数据类型和抽象数据类型 6

1.2.1数据类型 6

1.2.2抽象数据类型 6

1.3算法与算法分析 8

1.3.1算法的特性 8

1.3.2算法描述 10

1.3.3算法效率的度量 10

本章小结 13

习题1 13

第2章 线性表 16

2.1线性表的逻辑结构 16

2.1.1线性表的定义 16

2.1.2线性表的抽象数据类型 17

2.2线性表的顺序存储与实现 18

2.2.1顺序表 18

2.2.2顺序表基本操作的实现 19

2.2.3顺序表应用举例 23

2.3线性表的链式存储与实现 25

2.3.1单链表 25

2.3.2单链表上基本运算的实现 27

2.3.3单链表的应用 30

2.3.4循环链表 31

2.3.5双向链表 32

2.3.6静态链表 33

2.4一元多项式的表示及加法实现 36

2.5应用实例——约瑟夫环问题 38

本章小结 42

习题2 42

第3章 限定性线性表——栈和队列 46

3.1栈 46

3.1.1栈的定义 46

3.1.2栈的表示和实现 47

3.2栈的应用举例 52

3.3队列 56

3.3.1队列的定义 56

3.3.2队列的表示和实现 57

3.4队列的应用举例 62

3.5应用实例——银行排队服务模拟 63

本章小结 68

习题3 68

第4章 串、数组和广义表 72

4.1串的定义 72

4.2串的表示和实现 73

4.2.1定长顺序存储表示 74

4.2.2堆分配存储表示 75

4.2.3串的块链存储表示 77

4.3模式匹配 77

4.3.1简单模式匹配 78

4.3.2一种改进的模式匹配 79

4.4数组 81

4.4.1数组的定义 81

4.4.2数组的顺序存储与实现 82

4.4.3矩阵的压缩存储 83

4.5广义表 91

4.5.1广义表的定义 91

4.5.2广义表的存储结构 92

4.6应用实例——投票选举 93

本章小结 96

习题4 97

第5章 树和二叉树 100

5.1树的基本概念 100

5.1.1树的定义 100

5.1.2树的基本术语 102

5.2二叉树 104

5.2.1二叉树的定义 104

5.2.2二叉树的性质 105

5.2.3二叉树的存储结构 107

5.3二叉树的遍历 110

5.3.1二叉树的遍历算法 110

5.3.2二叉树遍历算法的应用 112

5.4线索二叉树 114

5.4.1线索二叉树的定义 114

5.4.2二叉树的线索化 115

5.4.3线索二叉树的遍历 117

5.5树和森林 118

5.5.1树的存储结构 118

5.5.2森林与二叉树的转换 121

5.5.3树和森林的遍历 122

5.6哈夫曼树及其应用 123

5.6.1基本术语 123

5.6.2构造哈夫曼树 124

5.6.3哈夫曼树的应用 127

5.7应用实例——并查集 129

本章小结 132

习题5 133

第6章 图 136

6.1图的基本概念 136

6.1.1图的定义 136

6.1.2图的基本术语 137

6.2图的存储结构 141

6.2.1邻接矩阵 141

6.2.2邻接表 143

6.2.3有向图的十字链表 146

6.2.4无向图的邻接多重表 147

6.3图的遍历 149

6.3.1深度优先搜索 149

6.3.2广度优先搜索 151

6.4无向图的连通分量和生成树 152

6.5图的应用 153

6.5.1最小生成树 153

6.5.2有向无环图与拓扑排序 157

6.5.3关键路径 161

6.5.4最短路径 166

6.6应用实例——畅通工程 171

本章小结 175

习题6 175

第7章 查找 179

7.1查找的基本概念 179

7.2静态查找 180

7.2.1顺序查找 181

7.2.2折半查找 183

7.2.3分块查找 185

7.3动态查找 187

7.3.1二叉排序树 187

7.3.2平衡二叉树 194

7.3.3 B树 203

7.4哈希表 204

7.4.1哈希表的概念 205

7.4.2哈希函数的构造 205

7.4.3处理冲突的方法 207

7.4.4哈希表查找及其分析 209

7.5应用实例——通讯录查询系统 210

本章小结 217

习题7 218

第8章 排序 221

8.1排序的基本概念 221

8.2插入排序 222

8.2.1直接插入排序 223

8.2.2折半插入排序 224

8.2.3希尔排序 225

8.3交换排序 227

8.3.1冒泡排序 227

8.3.2快速排序 229

8.4选择排序 232

8.4.1简单选择排序 232

8.4.2堆排序 233

8.5归并排序 237

8.6基数排序 239

8.6.1多关键字排序 239

8.6.2链式基数排序 240

8.7内部排序方法比较 244

8.8应用实例——内部排序算法比较 246

本章小结 255

习题8 256

参考文献 260