《数据结构导学》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:苏光奎,李春葆编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2002
  • ISBN:7302052468
  • 页数:250 页
图书介绍:编程之路系列教材:本书汇集作者多年讲授“数据结构”的教学经验,结合计算机专业的相关教学大纲编写而成。全书共分8章,介绍数据结构的基本概念、基本算法以及线性表、栈和队列、串和数组、树和二叉树、图、排序、查找等内容。

第1章 绪论 1

1.1 什么是数据结构 1

1.1.1 数据结构的定义 1

1.1.2 数据结构类型 3

1.1.3 数据结构和数据类型 5

1.2 算法及其描述 7

1.2.1 什么是算法 7

1.2.2 算法描述 8

1.3 算法分析 9

1.3.1 算法的性能标准 9

1.3.2 时间复杂度 10

1.4 本章小结 11

习题1 11

第2章 线性表 14

2.1 线性表及其逻辑结构 14

2.1.1 线性表的定义 14

2.1.2 线性表的操作 15

2.2 线性表的顺序存储 15

2.2.1 线性表的顺序存储--顺序表 15

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

2.2.3 顺序表的应用举例 20

2.3.1 线性表的链式存储--链表 21

2.3 线性表的链式存储 21

2.3.2 单链表基本操作的实现 23

2.3.3 双链表 29

2.3.4 循环链表 33

2.3.5 单链表的应用举例 34

2.4 本章小结 35

习题2 36

第3章 栈和队列 37

3.1 栈 37

3.1.1 栈的定义 37

3.1.2 栈的顺序存储及其基本操作 38

3.1.3 栈的链式存储及其基本操作的实现 41

3.1.4 栈的应用举例 43

3.2 队列 48

3.2.1 队列的定义 49

3.2.2 队列的顺序存储及其基本操作的实现 50

3.2.3 队列的链式存储及其基本操作的实现 57

3.2.4 队列的应用举例 60

3.3 本章小结 64

习题3 64

4.1.2 串的顺序存储及其基本操作实现 66

4.1.1 串的定义 66

第4章 串和数组 66

4.1 串 66

4.1.3 串的链式存储及其基本操作实现 71

4.2 数组 78

4.2.1 数组的定义 78

4.2.2 数组存储的排列顺序 78

4.2.3 数组基本操作的实现 79

4,3 稀疏矩阵 82

4.3.1 稀疏矩阵的定义 82

4.3.2 稀疏矩阵的顺序存储及其基本操作实现 82

4.3.3 稀疏矩阵的链式存储及其基本操作实现 87

4.4 本章小结 91

习题4 92

第5章 树和二又树 94

5.1 树 94

5.1.1 树的定义 94

5.1.2 树的表示 95

5.1.3 树的基本术语 95

5.2 二叉树及其遍历 96

5.2.1 二叉树的定义 96

5.2.2 二叉树的基本操作 97

5.2.3 二叉树的重要性质 98

5.2.4 二叉树的存储结构 99

5.2.5 二叉树的遍历 101

5.2.6 二叉树的基本操作 103

5.2.7 二叉树与森林之间的转换 108

5.3 二叉排序树 111

5.3.1 二叉排序树的定义 111

5.3.2 二叉排序树的基本操作 112

5.4.1 哈夫曼树的定义 116

5.4 哈夫曼树 116

5.4.2 构造哈夫曼树 117

5.4.3 哈夫曼编码 118

5.5 本章小结 121

习题5 122

第6章 图 124

6.1 图的基本概念 124

6.1.1 图的定义 124

6.1.2 图的基本术语 125

6.2 图的存储结构 127

6.2.1邻接矩阵 127

6. 2.2 邻接表 131

6.3.1 深度优先搜索 134

6.3 图的遍历 134

6.3.2 宽度优先搜索 135

6.4 最小生成树 137

6.4.1 普里姆算法 137

6.4.2 克鲁斯卡尔算法 140

6.5 最短路径 143

6.5.1 单源最短路径 143

6.5.2 每对顶点之间的最短路径 147

习题6 149

6.6 本章小结 149

第7章 排序 151

7.1 插入排序 151

7.1.1 直接插入排序 151

7.1.2 希尔排序 153

7.2 选择排序 155

7.3 交换排序 157

7.3.1 冒泡排序 157

7.3.2快速排序 159

7.4 归并排序 161

7.5 本章小结 164

习题7 164

第8章 查找 165

8.1 顺序查找 165

8.2 二分查找 166

8.3 分块查找 168

8.4 哈希表查找 170

8.4.1 哈希表查找的基本概念 170

8.4.2 构造哈希函数的方法 171

8.4.3 哈希冲突解决方法 172

8.5 本章小结 179

习题8 179

实习题 180

实习1 链表的应用--求两个一元多项式之和 180

1.目的 180

2.要求 180

3.解题算法 180

4.实验程序 181

5.实验结果 184

2.要求 185

3.解题算法 185

实习2 栈的应用--判断一个数是否是回文数 185

1.目的 185

4.实验程序 186

5.实验结果 187

实习3 串的应用--求两个串的最长公共子串 187

1.目的 187

2.要求 187

3.解题算法 188

4.实验程序 188

1.目的 189

2.要求 189

实习4 二叉树的应用--设计一个表示家谱的二叉树 189

5.实验结果 189

3.解题算法 190

4.实验程序 190

5.实验结果 194

实习5 快速排序的设计 196

1.目的 196

2.要求 196

3.解题算法 196

4.实验程序 196

5.实验结果 198

实习6 哈希表查找设计 200

1.目的 200

2.要求 200

3.解题算法 200

4.实验程序 200

5.实验结果 203

附录A 习题参考答案 205

习题1 205

习题2 207

习题3 211

习题4 217

习题5 225

习题6 230

习题7 232

习题8 234

附录B 递归设计方法 239

B.1 递归模型 239

B.2 递归的执行过程 240

B.3 递归设计 241

B.4 递归到非递归的转换 243

附录C C程序的功能索引 248

参考文献 250