图书介绍

数据结构 使用C++语言描述PDF|Epub|txt|kindle电子书版本网盘下载

数据结构 使用C++语言描述
  • 陈慧南主编 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:7115151229
  • 出版时间:2006
  • 标注页数:267页
  • 文件大小:14MB
  • 文件页数:280页
  • 主题词:数据结构-高等学校-教材;C语言-程序设计-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

数据结构 使用C++语言描述PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

1.1 算法与数据结构1

第1章 基础知识1

1.2 什么是数据结构2

1.2.1 基本概念2

1.2.2 数据的逻辑结构3

1.2.3 数据的存储表示4

1.2.4 数据结构的运算5

1.3 数据抽象和抽象数据类型6

1.3.1 抽象、数据抽象和过程抽象6

1.3.2 封装与信息隐蔽6

1.3.3 数据类型和抽象数据类型7

1.3.4 数据结构与抽象数据类型7

1.4 描述数据结构和算法8

1.4.1 数据结构的规范8

1.4.2 实现数据结构9

1.5.1 算法及其性能标准10

1.5 算法分析的基本方法10

1.5.2 算法的时间复杂度11

1.5.3 渐近时间复杂度12

1.5.4 最坏、最好和平均情况时间复杂度13

1.5.5 算法的空间复杂度14

本章小结14

习题14

第2章 线性表17

2.1 线性表ADT17

2.2 线性表的顺序表示18

2.3 线性表的链接表示23

2.3.1 单链表23

2.3.2 带表头结点的单链表29

2.3.3 单循环链表30

2.3.4 双向链表31

2.4.1 项结点的C++类32

2.4 多项式的算术运算32

2.4.2 多项式的C++类35

2.4.3 多项式类的实现35

本章小结38

习题38

第3章 堆栈和队列40

3.1 堆栈40

3.1.1 堆栈ADT40

3.1.2 堆栈的顺序表示41

3.1.3 堆栈的链接表示42

3.2 队列43

3.2.1 队列ADT43

3.2.2 队列的顺序表示44

3.2.3 队列的链接表示46

3.3 表达式计算46

3.3.1 表达式46

3.3.2 计算后缀表达式的值47

3.3.3 中缀表达式转换为后缀表达式50

3.4 递归53

3.4.1 递归的概念53

3.4.2 递归的实现54

本章小结55

习题55

第4章 数组和字符串57

4.1 数组57

4.1.1 数组ADT57

4.1.2 数组的顺序表示58

4.1.3 一维数组的C++类58

4.2 特殊矩阵61

4.2.1 对称矩阵61

4.2.2 带状矩阵61

4.3 稀疏矩阵63

4.3.1 稀疏矩阵ADT63

4.3.2 稀疏矩阵的顺序表示64

4.3.3 稀疏矩阵转置65

4.4 字符串67

4.4.1 字符串ADT68

4.4.2 字符串的存储表示68

4.4.3 简单模式匹配算法69

4.4.4 模式匹配的KMP算法71

本章小结75

习题75

第5章 树77

5.1 树的基本概念77

5.1.1 树的定义77

5.1.2 基本术语78

5.2 二叉树79

5.2.1 二叉树的定义80

5.2.2 二叉树的性质80

5.2.4 二叉树的存储表示82

5.2.3 二叉树ADT82

5.2.5 二叉树类83

5.2.6 实现二叉树基本运算84

5.3 二叉树的遍历86

5.3.1 二叉树遍历算法86

5.3.2 二叉树遍历的递归算法88

5.3.3 二叉树遍历的应用实例89

5.4 二叉树遍历的非递归算法90

5.4.1 遍历器类90

5.4.2 中序遍历器类91

5.5 树和森林93

5.5.1 森林与二叉树的转换93

5.5.2 树和森林的存储表示95

5.5.3 树和森林的遍历97

5.6 堆和优先权队列98

5.6.1 堆98

5.6.2 优先权队列ADT100

5.6.3 优先权队列类101

5.6.4 实现优先权队列102

5.7 哈夫曼树和哈夫曼编码104

5.7.1 树的路径长度104

5.7.2 哈夫曼树和哈夫曼算法105

5.7.3 哈夫曼树类106

5.7.4 构造哈夫曼树106

5.7.5 哈夫曼编码107

5.8 并查集和等价关系109

5.8.1 并查集ADT109

5.8.2 并查集的存储表示109

5.8.3 并查集类110

5.8.4 函数Union和Find111

5.8.5 改进的函数Union和Find111

5.8.6 按等价关系分组112

习题113

本章小结113

第6章 集合与搜索116

6.1 基本概念116

6.1.1 集合与搜索116

6.1.2 动态集ADT118

6.1.3 集合的表示119

6.2 顺序搜索119

6.2.1 无序表的顺序搜索119

6.2.2 有序表的顺序搜索120

6.2.3 平均搜索长度121

6.3 二分搜索121

6.3.1 二分搜索算法121

6.3.2 对半搜索122

6.3.3 二叉判定树123

本章小结125

习题125

7.1.1 二叉搜索树的定义126

7.1 二叉搜索树126

第7章 搜索树126

7.1.2 二叉搜索树的搜索127

7.1.3 二叉搜索树的插入128

7.1.4 二叉搜索树的删除129

7.1.5 平均情况时间分析131

7.2 二叉平衡树132

7.2.1 二叉平衡树的定义132

7.2.2 二叉平衡树类132

7.2.3 二叉平衡树的平衡旋转133

7.2.4 二叉平衡树的插入139

7.2.5 二叉平衡树的删除141

7.2.6 二叉平衡树的高度144

7.3 B-树145

7.3.1 m叉搜索树145

7.3.3 B-树的高度147

7.3.2 B-树的定义147

7.3.4 B-树的搜索148

7.3.5 B-树的插入148

7.3.6 B-树的删除150

7.4 伸展树152

本章小结154

习题155

8.2 跳表156

8.1 字典156

第8章 跳表和散列表156

8.2.1 什么是跳表157

8.2.2 跳表类159

8.2.3 跳表的搜索160

8.2.4 跳表的插入161

8.2.5 跳表的删除162

8.3 散列表163

8.3.1 散列技术163

8.3.2 散列函数164

8.3.3 拉链法166

8.3.4 开地址法167

8.3.5 线性探查法167

8.3.6 其他开地址法171

8.3.7 性能分析172

本章小结173

习题173

9.1.1 图的定义与术语174

9.1 图的基本概念174

第9章 图174

9.1.2 图ADT176

9.2 图的存储结构178

9.2.1 图的矩阵表示法178

9.2.2 图的邻接矩阵实现179

9.2.3 图的邻接表表示法182

9.2.4 图的邻接表实现182

9.3.1 扩充的图类185

9.3 图的遍历185

9.3.2 深度优先遍历186

9.3.3 宽度优先遍历188

9.4 拓扑排序189

9.4.1 用顶点代表活动的AOV网189

9.4.2 什么是拓扑排序191

9.4.3 拓扑排序算法191

9.5 关键路径194

9.5.1 用边代表活动的AOE网194

9.5.2 什么是关键路径195

9.5.3 关键路径算法197

9.6 最小代价生成树198

9.6.1 基本概念198

9.6.2 普里姆算法198

9.6.3 克鲁斯卡尔算法200

9.7.1 最短路径问题202

9.7 单源最短路径202

9.7.2 迪杰斯特拉算法203

9.7.3 选择数据结构204

9.7.4 迪杰斯特拉算法204

9.8 所有顶点之间的最短路径207

9.8.1 选择数据结构207

9.8.2 弗洛伊德算法207

本章小结209

习题209

第10章 内排序212

10.1 基本概念212

10.2 简单排序算法213

10.2.1 简单选择排序213

10.2.2 直接插入排序214

10.2.3 冒泡排序215

10.3 快速排序217

10.4 两路合并排序219

10.5 堆排序221

10.6 基数排序222

本章小结226

习题227

第11章 文件和外排序228

11.1 辅助存储器简介228

11.1.1 主存储器和辅助存储器228

11.1.2 磁盘存储器228

11.2 文件229

11.2.1 文件的基本概念229

11.2.2 文件的组织方式230

11.3 文件的索引结构233

11.3.1 静态索引结构233

11.3.2 动态索引结构233

11.4 外排序234

11.4.2 初始游程的生成235

11.4.1 外排序的基本过程235

11.4.3 多路合并237

11.4.4 最佳合并树239

本章小结240

习题241

第12章 实习指导和实习题242

12.1 实习目的和要求242

12.1.1 实习目的242

12.1.2 实习要求242

12.2 实习步骤243

12.3 面向对象方法及其表示法243

12.3.1 面向对象方法243

12.3.2 表示法245

12.4 实习报告和样例247

12.4.1 实习报告247

12.4.2 实习样题247

12.4.3 实习报告样例248

12.5 实习题253

12.5.1 实习一253

12.5.2 实习二254

12.5.3 实习三255

12.5.4 实习四256

12.5.5 实习五256

12.5.6 实习六257

12.5.7 实习七258

12.5.8 实习八259

12.5.9 实习九259

12.5.10 实习十260

12.5.11 实习十一261

附录 程序调试262

附录1 调试步骤262

附录2 VC++调试器263

参考文献267

热门推荐