图书介绍
数据结构标准教程PDF|Epub|txt|kindle电子书版本网盘下载
![数据结构标准教程](https://www.shukui.net/cover/42/34620964.jpg)
- 胡超,闫玉宝等编著 著
- 出版社: 北京:化学工业出版社
- ISBN:9787122094995
- 出版时间:2011
- 标注页数:351页
- 文件大小:142MB
- 文件页数:368页
- 主题词:数据结构-教材
PDF下载
下载说明
数据结构标准教程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 数据结构概述1
1.1 数据结构1
1.1.1 基本概念1
1.1.2 数据结构的概念2
1.1.3 数据结构的逻辑结构和物理结构3
1.1.4 数据的逻辑结构4
1.1.5 数据的操作5
1.1.6 数据结构讨论的内容及作用7
1.2 算法8
1.2.1 算法的概念8
1.2.2 算法的描述9
1.2.3 算法设计的目标10
1.2.4 算法效率分析10
1.2.5 算法存储空间分析12
1.2.6 算法设计的基本方法12
1.3 数据结构、算法和程序14
1.3.1 数据结构与算法14
1.3.2 数据结构与算法的关系15
1.4 算法效率的典型例题16
1.5 本章小结19
1.6 习题19
第2章 线性表的顺序存储21
2.1 线性表的逻辑结构21
2.1.1 线性表的定义21
2.1.2 线性表的数学定义和逻辑图22
2.1.3 线性表的基本操作22
2.2 线性表的顺序存储结构23
2.2.1 顺序表定义23
2.2.2 顺序存储结构类型24
2.2.3 顺序表的基本运算25
2.3 顺序表的建立27
2.4 顺序表的查找27
2.4.1 按位置查找元素28
2.4.2 按值查找元素28
2.4.3 顺序表的查找操作的效率分析30
2.5 顺序表的插入与删除30
2.5.1 在顺序表的第i个位置插入一个元素30
2.5.2 删除顺序表的第i个位置元素31
2.5.3 顺序表的插入与删除操作的效率分析32
2.6 顺序表的典型例题33
2.7 算法设计实训36
2.7.1 学生成绩管理需求分析36
2.7.2 学生成绩管理数据结构36
2.7.3 学生成绩管理的实现37
2.8 本章小结38
2.9 习题39
第3章 线性表的链式存储41
3.1 线性表的链式存储结构41
3.1.1 单链表41
3.1.2 循环链表43
3.1.3 双向链表43
3.1.4 静态链表44
3.2 单链表创建算法的实现45
3.2.1 头插法单链表的创建实现45
3.2.2 尾插法单链表的创建实现47
3.3 单链表运算的实现49
3.3.1 单链表辅助运算的实现49
3.3.2 单链表求表长的实现50
3.3.3 单链表插入操作的实现51
3.3.4 单链表删除操作的实现53
3.3.4 单链表查找操作的实现54
3.4 双向链表基本运算的实现55
3.4.1 双向链表插入操作的实现55
3.4.2 双向链表删除操作的实现57
3.5 顺序表与链表的比较58
3.6 链表的典型例题59
3.7 算法设计实训67
3.7.1 需求分析67
3.7.2 约瑟夫问题的数据结构68
3.7.3 约瑟夫问题的算法实现68
3.8 本章小结70
3.9 习题70
第4章 栈和队列73
4.1 栈73
4.1.1 栈的定义与基本运算73
4.1.2 栈的顺序存储74
4.1.3 栈的链式存储77
4.2 队列79
4.2.1 队列的定义与基本运算80
4.2.2 非循环队列的顺序存储80
4.2.3 循环队列的顺序存储83
4.2.4 队列的链式存储85
4.3 栈和队列的典型例题88
4.4 算法设计举例91
4.4.1 括号匹配问题91
4.4.2 表达式求值问题92
4.4.3 迷宫问题95
4.4.4 农夫过河问题98
4.5 本章小结100
4.6 习题100
第5章 串103
5.1 串的定义、表示和实现103
5.1.1 串的基本概念103
5.1.2 串的基本操作104
5.2 串的顺序存储结构107
5.2.1 串的初始化107
5.2.2 求串的长度108
5.2.3 串的赋值108
5.2.4 串的复制109
5.2.5 串的连接110
5.2.6 求串的子串110
5.2.7 串的比较111
5.2.8 求子串在主串中的位置112
5.2.9 串的插入113
5.2.10 串的删除115
5.2.11 串的替换115
5.3 串的堆存储结构117
5.3.1 串的初始化117
5.3.2 串的赋值117
5.3.3 串的复制118
5.3.4 串的连接119
5.3.5 串的比较119
5.3.6 取子串120
5.3.7 求子串在主串中的位置120
5.3.8 串的插入121
5.3.9 串的删除121
5.3.10 串的替换122
5.4 串的链式存储结构122
5.4.1 串的初始化123
5.4.2 串的赋值123
5.4.3 串的连接124
5.4.4 串的输出125
5.4.5 串的比较125
5.4.6 求字符串的长度126
5.4.7 取子串126
5.4.8 求子串在主串中的位置127
5.4.9 串的插入128
5.4.10 串的删除128
5.5 串的模式匹配129
5.5.1 简单的模式匹配算法130
5.5.2 KMP字符串模式匹配算法132
5.6 串的典型例题135
5.7 算法设计举例——行编辑程序137
5.8 本章小结143
5.9 习题144
第6章 数组和广义表145
6.1 数组145
6.1.1 数组的定义145
6.1.2 数组的顺序存储结构146
6.1.3 结构体描述148
6.1.4 数组的初始化148
6.1.5 数组中数据的存储149
6.1.6 数组中数据的读取149
6.1.7 数组中数据的修改149
6.1.8 用堆存储方式存储数组150
6.2 特殊矩阵的压缩存储151
6.2.1 对称矩阵151
6.2.2 对称矩阵的基本操作153
6.3 三角矩阵155
6.3.1 三角矩阵相关概念155
6.3.2 三角矩阵存储操作157
6.3.3 三角矩阵转置操作158
6.3.4 三角矩阵输出操作159
6.4 对角矩阵160
6.4.1 按对角线存储161
6.4.2 按行存储162
6.4.3 对角矩阵操作实现164
6.5 稀疏矩阵压缩存储165
6.5.1 稀疏矩阵定义165
6.5.2 三元组表存储方法166
6.5.3 十字链表存储方法169
6.6 广义表170
6.6.1 广义表的概念和基本操作170
6.6.2 广义表的存储结构171
6.6.3 广义表的基本操作实现174
6.7 本章小结176
6.8 习题176
第7章 二叉树179
7.1 二叉树的定义、性质和操作179
7.1.1 二叉树的定义179
7.1.2 二叉树的5种基本形态180
7.1.3 二叉树的两种特殊形态180
7.1.4 二叉树的几个特性181
7.1.5 二叉树的基本操作182
7.2 二叉树的存储182
7.2.1 二叉树的顺序存储结构182
7.2.2 二叉链表存储结构183
7.2.3 三叉链表存储结构184
7.2.4 双亲链表存储结构185
7.2.5 二叉树基本操作的链式实现186
7.3 二叉树的遍历188
7.3.1 二叉树遍历的方法和结构188
7.3.2 二叉链存储结构下二叉树遍历算法的实现189
7.3.3 非递归的二叉树遍历算法191
7.3.4 二叉树遍历的应用194
7.4 线索二叉树197
7.4.1 线索二叉树的定义197
7.4.2 线索二叉树的结构198
7.4.3 线索二叉树的操作199
7.5 算法设计举例202
7.5.1 问题描述203
7.5.2 算法设计203
7.5.3 算法实现203
7.6 本章小结205
7.7 习题206
第8章 树211
8.1 树的定义与术语211
8.2 树的存储结构212
8.2.1 双亲表示法212
8.2.2 孩子表示法213
8.2.3 孩子兄弟表示法214
8.3 树、森林与二叉树的转换216
8.3.1 树与二叉树的相互转换216
8.3.2 森林与二叉树的相互转换217
8.3.3 树、森林的遍历218
8.4 哈夫曼树及其应用219
8.4.1 哈夫曼树的定义219
8.4.2 哈夫曼树的定义220
8.4.3 最优前缀编码221
8.4.4 哈夫曼编码算法的实现223
8.5 树的典型例题224
8.6 算法设计举例227
8.6.1 哈夫曼编码、译码227
8.6.2 完全二叉树的判断229
8.7 本章小结230
8.8 习题230
第9章 图233
9.1 图的定义和术语233
9.1.1 无向图和有向图234
9.1.2 子图234
9.1.3 顶点的度235
9.1.4 无向网和有向网235
9.1.5 连通236
9.1.6 图的基本操作237
9.2 图的存储结构237
9.2.1 邻接矩阵238
9.2.2 邻接表240
9.3 图的遍历242
9.3.1 深度优先遍历242
9.3.2 广度优先遍历244
9.4 最小生成树245
9.4.1 最小生成树的基本概念246
9.4.2 普里姆算法246
9.4.3 克鲁斯卡尔算法249
9.5 最短路径249
9.5.1 求某一顶点到其余各顶点的最短路径250
9.5.2 求任意一对顶点之间的最短路径252
9.6 关键路径254
9.6.1 AOV网与拓扑排序254
9.6.2 AOE网与关键路径258
9.7 图的典型例题263
9.8 算法设计举例268
9.8.1 图的遍历268
9.8.2 最小生成树270
9.9 本章小结271
9.10 习题272
第10章 排序277
10.1 基本概念277
10.2 简单排序方法278
10.2.1 插入排序——直接插入排序278
10.2.2 折半插入排序280
10.2.3 表插入排序281
10.2.4 冒泡排序283
10.2.5 选择排序284
10.3 希尔排序287
10.4 快速排序288
10.5 堆排序291
10.6 二路归并排序293
10.7 基数排序295
10.7.1 多关键码排序296
10.7.2 链式基数排序296
10.8 排序的典型例题299
10.9 算法设计举例302
10.9.1 简单插入排序302
10.9.2 快速排序303
10.10 本章小结304
10.11 习题304
第11章 查找309
11.1 查找表309
11.2 静态查找表309
11.2.1 顺序查找310
11.2.2 有序表的折半查找311
11.2.3 分块查找313
11.3 动态查找表——二叉排序树314
11.3.1 二叉排序树查找过程315
11.3.2 二叉排序树插入操作315
11.3.3 二叉排序树删除操作317
11.3.4 二叉排序树的查找分析319
11.4 动态查找表——平衡二叉树319
11.4.1 左单旋转320
11.4.2 右单旋转321
11.4.3 先左后右双向旋转321
11.4.4 先右后左双向旋转322
11.5 动态查找表——B-树和B+树326
11.5.1 B-树的定义326
11.5.2 B-树的查找326
11.5.3 B-树上插入结点328
11.5.4 B-树上删除结点330
11.5.5 B+树330
11.6 哈希表331
11.6.1 哈希表与哈希方法331
11.6.2 常用的哈希函数332
11.6.3 处理冲突的方法334
11.6.4 哈希表的查找分析336
11.7 查找的典型例题337
11.8 算法设计举例338
11.8.1 构造二叉排序树339
11.8.2 设计哈希表342
11.9 本章小结347
11.10 习题347