当前位置:首页 > 工业技术
数据结构 用Pascal 语言、C++语言对照描述算法
数据结构 用Pascal 语言、C++语言对照描述算法

数据结构 用Pascal 语言、C++语言对照描述算法PDF电子书下载

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:薛超英主编
  • 出 版 社:武汉:华中理工大学出版社
  • 出版年份:2000
  • ISBN:7560921434
  • 页数:267 页
图书介绍:本书简明扼要地介绍了各种典型数据结构的逻辑特性、存储方法和基本运算。主要内容包括:线性表、栈、队列、二叉树、图、网络、特殊矩阵、广义表和文件等。书中每一个算法均用Pascal语言和C++语言对照描述,书末附有习题解答和实习任务书。 对计算机专业本科生来说,本书既可作为学习数据结构的教材,也可作为学习Pascal程序设计和C++程序设计的参考书。
《数据结构 用Pascal 语言、C++语言对照描述算法》目录

第1章 概论 1

1.1 基本术语 1

1.2 数据的逻辑结构 3

1.3 数据的存储结构 4

1.4 数据的运算 7

1.5 算法分析 8

习题一 9

第2章 线性表 10

2.1 顺序表 10

2.1.1 插入 11

2.1.2 删除 12

2.2 约瑟夫问题 13

2.3 线性链表 16

2.3.1 单向链表 16

2.3.2 双向链表 22

2.3.3 静态链表 23

2.4 多项式相加 25

习题二 29

第3章 栈和队列 30

3.1 顺序栈 30

3.2 链接栈 32

3.3 表达式求值 33

3.4 顺序队列 38

3.5 链接队列 40

3.6 报数问题 42

习题三 43

第4章 树形结构 45

4.1 树 45

4.1.1 树的定义 45

4.1.2 基本术语 46

4.1.3 树的存储表示 46

4.2 二叉树 48

4.2.1 二叉树的定义 48

4.2.2 二叉树的性质 49

4.2.3 满二叉树和完全二叉树 49

4.2.4 二叉树的存储表示 50

4.3 遍历树形结构 52

4.3.1 遍历树 52

4.3.2 遍历二叉树 52

4.4 二叉树的遍历算法 54

4.4.1 递归算法 54

4.4.2 非递归算法 56

4.4.3 建立二叉链表 59

4.5 线索二叉树 60

4.5.1 线索 60

4.5.2 利用线索 62

4.5.3 线索化二叉树 63

4.6 哈夫曼树及其应用 64

4.6.1 带权路径长度 64

4.6.2 哈夫曼树(最优二叉树) 65

4.6.3 哈夫曼编码 66

4.6.4 哈夫曼算法 67

习题四 71

第5章 图状结构 72

5.1 基本术语 72

5.2 图的存储表示 76

5.2.1 邻接矩阵 76

5.2.2 邻接表表示 77

5.2.3 建立图的存储结构 78

5.3 图的遍历和生成树 81

5.3.1 深度遍历 81

5.3.2 广度遍历 82

5.3.3 图的遍历算法 82

5.3.4 生成树和生成树林 84

5.4 最小生成树 86

5.5 最短路径 90

5.6 拓扑排序 94

5.7 关键路径 97

习题五 101

第6章 矩阵和广义表 103

6.1 矩阵 103

6.1.1 矩阵的逻辑特点 103

6.1.2 矩阵的存储表示 103

6.2 特殊矩阵 104

6.2.1 对称矩阵 104

6.2.2 对角矩阵 105

6.3 稀疏矩阵 106

6.3.1 三元组顺序表 106

6.3.2 十字链表 107

6.4 稀疏矩阵的运算 108

6.4.1 求矩阵的转置 108

6.4.2 插入非零元素 111

6.5 广义表 113

6.5.1 广义表的逻辑特点 113

6.5.2 广义表的存储表示 114

6.6 广义表的运算 116

6.6.1 创建广义表 116

6.6.2 判两个广义表是否相等 119

习题六 119

第7章 查找 121

7.1 顺序查找 121

7.2 折半查找 122

7.3 分块查找 125

7.4 树型查找 126

7.4.1 二叉排序树 126

7.4.2 查找 127

7.4.3 插入 128

7.4.4 删除 129

7.4.5 平衡二叉排序树 133

7.5 散列查找 143

7.5.1 散列表 144

7.5.2 散列函数 144

7.5.3 处理冲突的方法 146

7.5.4 散列表的查找算法 149

7.5.5 散列表的平均查找长度 151

习题七 152

第8章 内排序 154

8.1 直接插入排序 155

8.2 简单选择排序 156

8.3 起泡排序 158

8.4 堆排序 159

8.5 快速排序 163

8.6 归并排序 166

8.7 基数排序 169

8.8 7种排序方法的比较 173

习题八 174

第9章 文件 175

9.1 概述 175

9.2 文件组织 176

9.2.1 顺序文件 176

9.2.2 索引文件 176

9.2.3 散列文件 179

9.2.4 多重表文件 180

9.3 动态索引 181

9.3.1 B-树的定义 181

9.3.2 B-树的查找 182

9.3.3 B-树的插入 182

9.3.4 B-树的删除 183

9.3.5 性能分析 185

9.4 外排序 186

9.4.1 基本原理 186

9.4.2 多路归并 188

9.4.3 初始顺串的生成 191

习题九 197

第10章 抽象数据类型 198

10.1 概述 198

10.2 定义抽象数据类型 199

10.2.1 用Pascal语言描述 200

10.2.2 用C++语言描述 202

10.3 使用抽象数据类型 211

习题十 218

实习题 219

实习一 多项式乘法运算 219

实习二 计算器模拟 219

实习三 哈夫曼编/译码器设计 220

实习四 服务点设置问题 221

实习五 寻找同名学生 221

习题解答 223

习题一 223

习题二 226

习题三 234

习题四 240

习题五 246

习题六 251

习题七 254

习题八 259

习题九 264

习题十 264

参考文献 266

返回顶部