《算法与数据结构 C语言版》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:范策,周世平,胡潇琨等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2004
  • ISBN:7111146204
  • 页数:282 页
图书介绍:本书详细介绍了各种数据结构的基本概念、逻辑特性和物理特性。

目录 1

前言 1

第1章概论 1

1.1引言 1

1.1.1解决问题的步骤 1

1.1.2 一个例子 2

1.2数据结构 4

1.2.1为什么要学习数据结构 4

1.2.2有关概念和术语 5

1.3抽象数据类型 9

1.4类C语言描述 11

1.5算法和算法分析 14

1.5.1算法的定义及算法设计的要求 14

1.5.2算法与数据结构和程序 16

1.5.3算法性能分析与度量 16

1.5.4复杂度函数的增长率 19

1.5.5复杂度分析的例子 20

第2章线性表 23

2.1线性表的类型定义 23

2.1.1线性表的概念 23

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

2.1.3线性表的例子 25

2.2线性表的顺序表示和实现 27

2.2.1线性表的顺序表示 27

2.2.2顺序表操作的实现 28

2.3线性表的链式表示和实现 31

2.3.1单链表的表示 32

2.3.2线性链表操作的实现 33

2.4线性表实现方法的比较 38

2.5循环链表 39

2.6双链表 40

2.7静态链表 41

*2.8算法设计举例 43

第3章栈和队列 47

3.1栈 47

3.1.1栈的类型定义 47

3.1.2栈的表示和实现 48

3.1.3顺序栈和链栈的比较 51

3.2队列 52

3.2.1队列的类型定义 52

3.2.2循环队列 53

和实现 56

3.2.3链队——队列的链式表示 56

*3.3递归 57

3.3.1递归的定义 57

3.3.2递归的实现 59

3.3.3递归和迭代 64

3.3.4递归的消除 65

*3.4算法设计举例 68

第4章 串 73

4.1串的类型定义 73

4.2串的表示和实现 74

4.2.1串的顺序存储结构 75

4.2.2串的链式存储结构 76

*4.3串的模式匹配 77

4.3.1朴素的模式匹配算法 77

4.3.2首尾模式匹配算法 78

4.3.3 KMP算法 79

4.4串的应用举例 82

*4.5算法设计举例 83

第5章 数组和广义表 85

5.1数组的概念及其基本操作 85

5.2数组的顺序存储 86

5.3.1特殊矩阵 88

5.3矩阵的压缩存储 88

5.3.2稀疏矩阵 90

*5.4广义表 98

5.4.1 广义表的定义 98

5.4.2广义表的存储结构 99

*5.5算法设计举例 101

第6章树 105

6.1树的概念及操作 105

6.2 叉树 107

6.2.1二叉树的概念及操作 108

6.2.2二叉树的性质 109

6.2.3二叉树的存储结构 111

6.3二叉树的遍历 112

*6.4线索二叉树 116

6.5树和森林 121

6.5.1树的存储结构 121

6.5.2森林、树、二叉树 124

的相互转换 124

6.5.3树和森林的遍历 126

6.6.1最优二叉树(哈夫曼树) 127

6.6哈夫曼树及其应用 127

6.6.2哈夫曼编码 129

*6.7算法设计举例 132

第7章 图 137

7.1图的定义和术语 137

7.2图的存储结构 140

7.2.1数组表示法 140

7.2.2邻接表 141

*7.2.3十字链表 143

*7.2.4邻接多重表 144

7.3.1深度优先搜索 145

7.3图的遍历 145

7.3.2 广度优先搜索 146

7.4图的连通性问题 147

7.4.1图的连通分量和生成树 147

7.4.2最小生成树 149

7.5有向无环图及其应用 151

7.5.1拓扑排序 151

*7.5.2关键路径 154

7.6最短路径 158

7.6.1从某个源点到其他各顶点的最短路径 158

7.6.2每一对顶点之间的最短路径 161

*7.7网络流问题 163

*7.8算法设计举例 167

*第8章 动态存储管理 171

8.1概述 171

8.2可利用空间表及分配方法 172

8.3边界标识法 176

8.4伙伴系统 181

第9章集合 187

9.1概述 187

9.2线性表上的查找 188

9.2.1顺序表的查找 189

9.2.2有序表的查找 190

9.3索引表上的查找 196

9.4树表上的查找 197

9.4.1二叉排序树 197

9.4.2平衡二叉树 203

*9.4.3 B-树 210

*9.4.4键树 216

9.5哈希表 217

9.5.1哈希表查找的基本概念 217

9.5.2构造哈希函数的方法 218

9.5.3哈希冲突的解决方法 220

9.5.4哈希表的查找及分析 223

*9.6算法设计举例 225

第10章 排序 229

10.1概述 229

10.2插入排序 230

10.2.1直接插入排序 230

10.2.2折半插入排序 232

*10.2.3二路插入排序 232

*10.2.4表插入排序 234

10.2.5希尔排序 236

10.3交换排序 237

10.3.1起泡排序 237

10.3.2快速排序 238

10.4选择排序 241

10.4.1直接选择排序 241

10.4.2树形选择排序 242

10.4.3堆排序 243

10.5归并排序 246

10.6分配排序 247

10.7各种内部排序方法的比较 250

10.8外部排序 252

10.8.1文件管理 252

10.8.2外部排序的方法 253

10.8.3多路平衡归并排序 255

10.8.4置换选择排序 257

*10.8.5最佳归并树 261

*10.8.6磁带排序 262

*10.9算法设计举例 263

11.1文件的基本概念 267

第11章文件 267

11.2顺序文件 269

11.3索引文件 272

11.4索引顺序文件 273

11.4.1 ISAM文件 274

*11.4.2 VSAM 文件 276

11.5散列文件 278

*11.6多关键字文件 279

11.6.1多重表文件 279

11.6.2倒排文件 280

参考书目 282