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

  • 购买积分:10 如何计算积分?
  • 作  者:杨勇著
  • 出 版 社:天津:天津大学出版社
  • 出版年份:2011
  • ISBN:9787561835470
  • 页数:228 页
图书介绍:本书以“简易学生信息系统”中的学生基本信息管理和成绩信息管理为背景,讲解常用的数据结构和算法知识,包括表,队列,树,查找与排序等。

第1部分 预备篇 1

第1章 数据结构和算法概述 2

1.1 数据结构的基本概念 2

1.1.1 学习数据结构的意义 2

1.1.2 有关概念和术语 4

1.2 算法的概念及其特性 7

1.2.1 算法的定义 7

1.2.2 算法的三要素 7

1.2.3 算法的基本性质 8

1.2.4 算法的基本特征 8

1.2.5 算法设计的要求 8

1.3 算法分析和评价 9

1.3.1 算法的时间复杂度 9

1.3.2 算法的空间复杂度 11

1.4 小结 11

1.5 习题 12

第2章 学生信息管理设计 15

2.1 系统设计 15

2.2 数据库设计 16

2.3 公共模块设计 17

第2部分 业务篇 23

第3章 学生基本信息管理(顺序表) 24

3.1 知识要点 24

3.2 模块功能描述 24

3.3 知识准备 24

3.3.1 线性表的定义和性质 24

3.3.2 顺序表的定义和性质 25

3.4 业务实现 26

3.5 算法分析 31

3.6 小结 31

3.7 习题 32

第4章 学生成绩信息管理(链表) 34

4.1 知识要点 34

4.2 模块功能描述 34

4.3 知识准备 35

4.3.1 链表的基本概念和存储方式 35

4.3.2 单向链表含义 35

4.4 业务实现 36

4.5 知识扩展 42

4.5.1 循环链表 42

4.5.2 双向链表 43

4.6 小结 45

4.7 习题 46

第5章 学生基本信息审核(栈) 49

5.1 知识要点 49

5.2 模块功能描述 49

5.3 知识准备 49

5.3.1 栈的基本概念 49

5.3.2 栈的存储结构 50

5.4 业务实现 51

5.5 知识扩展 53

5.6 小结 54

5.7 习题 55

第6章 学生成绩信息的审核(队列) 57

6.1 知识要点 57

6.2 模块功能描述 57

6.3 知识准备 57

6.3.1 队列概念 57

6.3.2 顺序队列 58

6.4 业务实现 59

6.5 知识扩展(链队列) 61

6.6 小结 62

6.7 习题 62

第7章 树和二叉树 64

7.1 知识要点 64

7.2 树的概念和操作 64

7.2.1 树的概念 64

7.2.2 树的基本术语 65

7.2.3 树的基本运算 67

7.3 二叉树的概念和性质 67

7.3.1 二叉树的定义 67

7.3.2 二叉树的性质 69

7.3.3 二叉树的存储结构 72

7.4 知识扩展(二叉树遍历) 73

7.4.1 二叉树遍历的递归算法 73

7.4.2 二叉树遍历的非递归算法 75

7.4.3 二叉树算法举例 77

7.5 小结 78

7.6 习题 78

第8章 查找 82

8.1 知识要点 82

8.2 功能描述 82

8.3 知识准备 83

8.4 业务实现 84

8.4.1 顺序查找 84

8.4.2 折半查找 87

8.4.3 索引查找 91

8.4.4 哈希查找 95

8.5 小结 104

8.6 习题 104

第9章 排序 107

9.1 知识要点 107

9.2 功能描述 107

9.3 知识准备 108

9.4 业务实现 109

9.4.1 直接插入排序 109

9.4.2 折半插入排序 112

9.4.3 冒泡排序 115

9.4.4 快速排序 118

9.4.5 选择排序 121

9.5 小结 124

9.6 习题 124

第10章 班长评选(循环算法) 127

10.1 知识要点 127

10.2 功能描述 127

10.3 知识准备 128

10.4 业务实现 128

10.5 知识扩展 132

10.5.1 长整数问题 132

10.5.2 由具体到抽象设计循环结构的案例 134

10.6 习题 136

第11章 班委评选(递归算法) 138

11.1 知识要点 138

11.2 功能描述 138

11.3 知识准备 139

11.4 业务实现 139

11.5 知识扩展 141

11.6 递归算法与循环算法的比较 143

11.7 习题 144

第12章 迭代算法 145

12.1 知识要点 145

12.2 迭代算法概念和设计要点 145

12.3 递推法 146

12.4 倒推法 147

12.5 迭代法求解方程 147

12.6 习题 149

第13章 学生评优(蛮力法) 151

13.1 知识要点 151

13.2 功能描述 151

13.3 知识准备 152

13.4 业务实现 152

13.5 知识扩展 154

13.6 习题 155

第14章 优差生评选(分治法) 157

14.1 知识要点 157

14.2 功能描述 157

14.3 知识准备 158

14.4 业务实现 158

14.5 知识扩展 160

14.5.1 二分不独立问题 160

14.5.2 非等分分治法问题 162

14.6 习题 163

第15章 优秀团队组建(贪婪算法) 165

15.1 知识要点 165

15.2 功能描述 165

15.3 知识准备 165

15.4 业务实现 166

15.5 其他贪婪算法 170

15.5.1 可绝对贪婪问题 170

15.5.2 相对贪婪问题 172

15.6 习题 173

第3部分 实践篇 175

实验1 数据库与数据访问层 176

实验2 学生基本信息管理(顺序表实现) 177

实验3 学生成绩信息管理(单向链表实现) 184

实验4 学生基本信息审核(栈的实现) 190

实验5 学生成绩信息审核(队列实现) 196

实验6 学生信息查找 201

实验7 学生信息排序 205

实验8 班长评选(循环算法) 209

实验9 班委评选(递归算法) 212

实验10 优秀学生评选(蛮力算法) 217

实验11 最优最差生评选(分治算法) 220

实验12 优秀团队组建(贪婪算法) 223

实验13 课程设计 226

参考文献 228