《数据结构(C语言版)》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:陈超祥主编;徐萍,李文书副主编
  • 出 版 社:北京大学出版社
  • 出版年份:2013
  • ISBN:
  • 页数:251 页
图书介绍:

第1章 绪论 1

问题描述:学生信息查询问题 1

1.1 为什么要学习数据结构 1

问题描述:田径赛的时间安排问题 2

1.2 数据结构概述 4

1.3 算法和算法分析 7

1.3.1 算法 7

1.3.2 算法分析 7

小结 10

习题 10

第2章 线性表 13

问题描述:学生成绩管理问题 13

2.1 线性表的定义和基本操作 13

2.1.1 线性表的定义 13

2.1.2 识别线性表的基本操作 14

2.2 线性表的顺序存储、实现和应用 15

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

2.2.2 顺序表的操作实现 17

2.2.3 用顺序表实现学生成绩管理问题 20

2.3 线性表的链式存储、实现和应用 25

问题描述:病患信息管理问题 25

2.3.1 单链表 26

2.3.2 用单链表实现病患信息管理问题 33

2.3.3 循环链表 38

2.3.4 双链表 40

2.4 顺序表和链表的比较 43

小结 43

习题 43

第3章 栈与队列 46

问题描述:迷宫求解问题 46

3.1 栈 46

3.1.1 栈的定义 46

3.1.2 栈的基本操作 47

3.1.3 栈的顺序存储和实现 47

3.1.4 用栈实现的迷宫问题 50

3.2 队列 56

问题描述:银行排队叫号问题 56

3.2.1 队列的概念 56

3.2.2 队列的基本操作 56

3.2.3 队列的顺序存储、实现和应用 57

3.2.4 队列的链式存储、实现和应用 61

3.2.5 用队列实现银行排队叫号系统 64

小结 69

习题 69

第4章 串 73

问题描述:字符串分析 73

4.1 串的类型与基本运算 73

4.1.1 串的类型定义 73

4.1.2 串的基本运算 73

4.2 串的存储 76

4.2.1 串的顺序存储 76

4.2.2 串的链式存储 77

4.3 串的模式匹配 78

4.3.1 模式匹配的简单算法 78

4.3.2 KMP算法 81

4.2.3 KMP模式匹配改进算法 85

4.4 用串实现对字符串的分析 86

小结 91

习题 91

第5章 多维数组 93

问题描述:地雷小游戏 93

5.1 数组 93

5.1.1 数组的概念 94

5.1.2 数组的存储结构和实现 94

5.1.3 用二维数组解决地雷小游戏的问题 96

5.2 矩阵的压缩存储 101

问题描述:查询城市间距离的问题 101

5.2.1 特殊矩阵的逻辑结构 101

5.2.2 用特殊矩阵解决查询城市间距离的问题 103

5.3 稀疏矩阵 104

5.3.1 稀疏矩阵的逻辑结构 104

5.3.2 稀疏矩阵的压缩存储 105

小结 107

习题 107

第6章 树 110

问题描述:快速搜索磁盘文件中记录的问题 110

6.1 概述 110

6.2 二叉树 112

6.2.1 二叉树的定义 112

6.2.2 二叉树的性质 113

6.2.3 二叉树的存储结构 115

6.3 二叉树的遍历和线索化 117

6.3.1 二叉树的遍历 117

6.3.2 二叉树的线索化 121

6.3.3 用二叉树解决快速搜索磁盘文件中记录的问题 126

6.4 树和森林 130

6.4.1 树的存储 130

6.4.2 树、森林与二叉树的转换 134

6.4.3 树和森林的遍历 135

6.5 哈夫曼树及其应用 136

问题描述:文件传输编码问题 136

6.5.1 基本概念 136

6.5.2 哈夫曼树的构造 137

6.5.3 哈夫曼树的应用 140

6.5.4 用哈夫曼树解决文件传输编码问题 141

小结 149

习题 149

第7章 图 153

问题描述:校园电子导航平台 153

7.1 图的定义和术语 153

7.1.1 各种图定义 154

7.1.2 图的顶点与边间关系 156

7.1.3 连通图的相关术语 158

7.2 图的存储结构 160

7.2.1 邻接矩阵存储 160

7.2.2 邻接表存储 162

7.3 图的遍历 165

7.3.1 深度优先搜索遍历 166

7.3.2 广度优先搜索遍历 168

7.4 图的生成树 170

7.4.1 生成树的基本概念 170

7.4.2 最小生成树的构造 172

7.5 最短路径 176

7.5.1 单源最短路径 177

7.5.2 所有顶点对间的最短路径 181

7.6 校园电子导航平台的实现 185

小结 194

习题 194

第8章 排序 198

问题描述:奥运会奖牌排名系统 198

8.1 概述 198

8.2 插入排序 199

8.2.1 直接插入排序 199

8.2.2 希尔排序 201

8.3 交换排序 204

8.3.1 冒泡排序 204

8.3.2 快速排序 205

8.4 选择排序 208

8.4.1 直接选择排序 208

8.4.2 堆排序 210

8.5 编程实现奥运会奥运奖牌排名系统 214

小结 223

习题 223

第9章 查找 226

问题描述:电话号码查询系统 226

9.1 概述 226

9.2 线性表查找 227

9.2.1 顺序查找 227

9.2.2 二分查找 228

9.2.3 分块查找 231

9.3 哈希表查找 233

9.3.1 哈希表的概念 233

9.3.2 哈希表的构造 234

9.3.3 解决冲突的方法 237

9.3.4 哈希表查找实现 240

9.4 编程实现电话号码查询系统 242

小结 247

习题 247

参考文献 251