《数据结构与算法》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:赵文静主编;祁飞副主编
  • 出 版 社:北京:科学出版社
  • 出版年份:2005
  • ISBN:7030150503
  • 页数:263 页
图书介绍:本书主要向读者介绍有关数据结构与算法方面的一些知识。

第1章 概论 1

1.1 数据结构概述 1

1.2 什么是数据结构 1

目录 1

1.3 算法 3

1.3.1 什么是算法 3

1.3.2 算法的评价 3

1.3.3 算法的描述 5

1.3.4 常用算法设计策略 5

1.5 习题 6

1.4 小结 6

第2章 线性表 8

2.1 线性表的逻辑结构 8

2.1.1 线性表的基本概念 8

2.1.2 线性表的抽象数据类型定义 8

2.2 顺序表 9

2.2.1 线性表的顺序存储结构 9

2.2.2 顺序表的基本运算 10

2.3.1 线性表的链式存储结构 14

2.3 链表 14

2.3.2 单链表 15

2.3.3 单链表的基本运算 16

2.3.4 循环链表 20

2.3.5 双链表 21

2.4 线性表的应用实例 22

2.4.1 顺序表模板类定义SQList.h及应用 22

2.4.2 单链表的模板类定义SLList.h及应用 26

2.4.3 线性表在多项式运算中的应用 32

2.5 小结 35

2.6 习题 36

第3章 栈与队列 39

3.1 栈 39

3.1.1 栈的定义及其运算 39

3.1.2 栈的顺序存储结构 40

3.1.3 栈的链式存储结构 41

3.2 栈的应用举例 41

3.3 栈与递归 46

3.3.1 递归概念 46

3.3.2 递归子程序的实现 47

3.3.3 递归技术相关问题 48

3.4 队列 51

3.4.1 队列的定义及其运算 51

3.4.2 顺序队列——队列的顺序存储结构 52

3.4.3 链队列——队列的链式存储结构 55

3.5 应用实例 55

3.6 小结 59

3.7 习题 60

4.1 字符串的基本概念 62

第4章 字符串 62

4.2 字符串的存储方式 64

4.2.1 定长顺序存储表示 65

4.2.2 串的堆分配存储表示 68

4.2.3 块链存储表示 70

4.3 字符串的模式匹配算法 74

4.3.1 串模式匹配的基本算法 75

4.3.2 串模式匹配的改进算法 76

4.4 小结 80

4.5 习题 80

5.1 数组的存储结构与寻址 82

第5章 多维数组与广义表 82

5.2 特殊矩阵的压缩存储方式 85

5.2.1 对称矩阵的压缩存储 85

5.2.2 稀疏矩阵的三元组顺序表存储方式 87

5.2.3 稀疏矩阵的十字链表存储方式 95

5.3 广义表 105

5.3.1 广义表的定义、特性与基本操作 105

5.3.2 广义表的存储结构与广义表的递归算法 108

5.4 小结 115

5.5 习题 116

第6章 树与二叉树 118

6.1 树的概念和运算 118

6.1.1 树的定义与表示 118

6.1.2 树的基本术语 120

6.1.3 树的ADT 120

6.2 二叉树 122

6.2.1 二叉树的定义与基本运算 122

6.2.2 二叉树的性质 124

6.2.3 二叉树的存储结构 125

6.2.4 二叉树操作的实现 128

6.3.1 树的存储结构 133

6.3 树和森林 133

6.3.2 树、森林与二叉树的转换 135

6.3.3 树的遍历 137

6.4 树的典型应用 138

6.4.1 回溯法中的解空间树与0-1背包问题 138

6.4.2 哈夫曼树与贪心算法 142

6.5 小结 147

6.6 习题 147

7.1.1 图的定义及术语 149

第7章 图 149

7.1 图的定义、术语和基本运算 149

7.1.2 图的基本运算及其ADT 151

7.2 图的存储结构 152

7.2.1 数组表示法 153

7.2.2 邻接表 153

7.2.3 邻接多重表 160

7.2.4 十字链表 160

7.3.1 图的遍历 161

7.3 图的遍历与拓扑排序 161

7.3.2 拓扑排序 164

7.4 最小生成树 166

7.5 最短路径 174

7.5.1 单源最短路径问题与分支限界法 174

7.5.2 多源最短路径问题与动态规划法 178

7.6 小结 180

7.7 习题 181

8.1 排序技术概述 182

第8章 排序 182

8.2 插入排序 183

8.2.1 直接插入排序 184

8.2.2 折半插入排序 185

8.2.3 2-路插入排序 186

8.2.4 表插入排序 187

8.2.5 希尔排序 189

8.3 选择排序 190

8.3.1 直接选择排序 190

8.3.2 堆排序 191

8.4.1 冒泡排序 194

8.4 交换排序 194

8.4.2 分治法与快速排序 195

8.5 归并排序 198

8.6 基数排序 199

8.7 外部排序概述 201

8.8 小结 201

8.9 习题 202

9.1 基本概念 204

第9章 查找 204

9.2 顺序表 205

9.2.1 顺序查找 205

9.2.2 二分法查找 206

9.2.3 分块查找 209

9.3 散列表 211

9.3.1 概述 211

9.3.2 散列函数的构造方法 212

9.3.3 处理冲突的方法 214

9.3.4 散列表性能分析 217

9.4.1 二叉排序树 219

9.4 树表 219

9.4.2 平衡的二叉排序树 225

9.4.3 B树 234

9.5 小结 243

9.6 习题 244

第10章 文件 246

10.1 文件的基本概念 246

10.1.1 文件及其类别 246

10.1.2 文件的逻辑结构 247

10.1.3 文件的物理结构 248

10.2 顺序文件 251

10.3 索引文件 252

10.3.1 索引文件 252

10.3.2 索引顺序文件 255

10.4 直接存取文件 258

10.5 多关键字文件 259

10.5.1 多重表文件 259

10.5.2 倒排文件 261

10.6 小结 262

10.7 习题 262

主要参考文献 263