图书介绍
数据结构教程PDF|Epub|txt|kindle电子书版本网盘下载
![数据结构教程](https://www.shukui.net/cover/57/33128034.jpg)
- 李春葆编著 著
- 出版社: 北京:清华大学出版社
- ISBN:7302099847
- 出版时间:2005
- 标注页数:334页
- 文件大小:16MB
- 文件页数:351页
- 主题词:数据结构-高等学校-教材
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.1.2 逻辑结构类型4
1.1.3 存储结构类型6
1.1.4 数据结构和数据类型7
1.2 算法及其描述10
1.2.1 算法10
1.2.2 算法描述11
1.3 算法分析13
1.3.1 算法设计的目标13
1.3.2 算法效率分析13
1.3.3 算法存储空间分析16
1.4 小结17
1.5 习题17
1.6 上机实验题18
第2章 线性表20
2.1 线性表及其逻辑结构20
2.1.1 线性表的定义20
2.1.2 线性表的抽象数据类型描述21
2.2 线性表的顺序存储结构22
2.2.1 线性表的顺序存储结构——顺序表22
2.2.2 顺序表基本运算的实现23
2.3 线性表的链式存储结构28
2.3.1 线性表的链式存储结构——链表28
2.3.2 单链表基本运算的实现29
2.3.3 双链表35
2.3.4 循环链表38
2.3.5 静态链表39
2.4 线性表的应用44
2.5 有序表47
2.6 小结50
2.7 习题50
2.8 上机实验题51
第3章 栈和队列54
3.1 栈54
3.1.1 栈的定义54
3.1.2 栈的顺序存储结构及其基本运算的实现56
3.1.3 栈的链式存储结构及其基本运算的实现57
3.1.4 栈的应用举例60
3.2 队列66
3.2.2 队列的顺序存储结构及其基本运算的实现67
3.2.1 队列的定义67
3.2.3 队列的链式存储结构及其基本运算的实现70
3.2.4 队列的应用举例73
3.3 小结77
3.4 习题77
3.5 上机实验题78
第4章 串81
4.1 串的基本概念81
4.2 串的存储结构82
4.2.1 串的顺序存储结构——顺序串82
4.2.2 串的链式存储结构——链串87
4.3 串的模式匹配93
4.3.1 Brute-Force算法93
4.3.2 KMP算法94
4.6 上机实验题98
4.4 小结98
4.5 习题98
第5章 数组和稀疏矩阵100
5.1 数组100
5.1.1 数组的基本概念100
5.1.2 数组的存储结构101
5.1.3 特殊矩阵的压缩存储103
5.2 稀疏矩阵105
5.2.1 稀疏矩阵的三元组表示105
5.2.2 稀疏矩阵的十字链表表示109
5.3 小结113
5.4 习题113
5.5 上机实验题114
6.1.1 递归的定义115
6.1 什么是递归115
第6章 递归115
6.1.2 何时使用递归116
6.1.3 递归模型117
6.1.4 递归与数学归纳法118
6.2 递归调用的实现原理119
6.3 递归算法的设计121
6.4 递归算法到非递归算法的转换122
6.4.1 尾递归和单向递归的消除123
6.4.2 模拟系统运行时的栈消除递归124
6.5 小结129
6.6 习题129
6.7 上机实验题129
7.1 树的基本概念131
7.1.1 树的定义131
第7章 树形结构131
7.1.2 树的逻辑表示方法132
7.1.3 树的基本术语132
7.1.4 树的性质133
7.1.5 树的基本运算135
7.1.6 树的存储结构136
7.2 二叉树概念和性质138
7.2.1 二叉树概念138
7.2.2 二叉树性质138
7.2.3 二叉树与树、森林之间的转换140
7.3 二叉树存储结构142
7.3.1 二叉树的顺序存储结构142
7.4 二叉树的遍历143
7.4.1 二叉树遍历的概念143
7.3.2 二叉树的链式存储结构143
7.4.2 二叉树遍历递归算法144
7.4.3 二叉树遍历非递归算法145
7.5 二叉树的基本运算及其实现151
7.5.1 二叉树的基本运算151
7.5.2 二叉树的基本运算算法实现151
7.6 二叉树的构造157
7.7 线索二叉树161
7.7.1 线索二叉树的概念161
7.7.2 线索化二叉树162
7.7.3 遍历线索化二叉树164
7.8 哈夫曼树165
7.8.1 哈夫曼树概述165
7.8.2 哈夫曼树的构造算法166
7.8.3 哈夫曼编码167
7.9 小结169
7.11 上机实验题170
7.10 习题170
第8章 广义表172
8.1 广义表的定义172
8.2 广义表的存储结构174
8.3 广义表的运算175
8.4 小结182
8.5 习题182
8.6 上机实验题183
第9章 图184
9.1 图的基本概念184
9.1.1 图的定义184
9.1.2 图的基本术语185
9.2.1 邻接矩阵存储方法187
9.2 图的存储结构187
9.2.2 邻接表存储方法189
9.2.3 十字邻接表存储方法191
9.2.4 邻接多重表存储方法192
9.3 图的遍历193
9.3.1 图的遍历的概念193
9.3.2 深度优先搜索遍历194
9.3.3 广度优先搜索遍历195
9.3.4 非连通图的遍历196
9.4 生成树和最小生成树196
9.4.1 生成树的概念196
9.4.2 无向图的连通分量和生成树197
9.4.3 有向图的强连通分量198
9.4.4 普里姆算法199
9.4.5 克鲁斯卡尔算法200
9.5 最短路径202
9.5.1 路径的概念202
9.5.2 从一个顶点到其余各顶点的最短路径202
9.5.3 每对顶点之间的最短路径207
9.6 拓扑排序211
9.7 AOE网与关键路径213
9.8 小结217
9.9 习题217
9.10 上机实验题217
第10章 查找220
10.1 查找的基本概念220
10.2 线性表的查找220
10.2.2 二分查找221
10.2.1 顺序查找221
10.2.3 分块查找224
10.3 树表的查找226
10.3.1 二叉排序树226
10.3.2 平衡二叉树233
10.3.3 B-树245
10.3.4 B+树256
10.4 哈希表查找257
10.4.1 哈希表的基本概念257
10.4.2 哈希函数构造方法258
10.4.3 哈希冲突解决方法259
10.4.4 哈希表上的运算261
10.5 小结265
10.6 习题265
10.7 上机实验题265
11.1 排序的基本概念267
第11章 内排序267
11.2 插入排序268
11.2.1 直接插入排序268
11.2.2 希尔排序269
11.3 交换排序271
11.3.1 冒泡排序271
11.3.2 快速排序272
11.4 选择排序274
11.4.1 直接选择排序275
11.4.2 堆排序276
11.5 归并排序279
11.6 基数排序282
11.7 各种内排序方法的比较和选择285
11.9 习题286
11.8 小结286
11.10 上机实验题287
第12章 外排序288
12.1 外排序概述288
12.2 磁盘排序289
12.2.1 磁盘排序过程289
12.2.2 多路平衡归并290
12.2.3 初始归并段的生成292
12.2.4 最佳归并树294
12.3 磁带排序296
12.3.1 多路平衡归并排序296
12.3.2 多阶段归并排序297
12.4 小结299
12.5 习题299
12.6 上机实验题299
13.1.1 文件300
第13章 文件300
13.1 文件的基本概念300
13.1.2 文件的逻辑结构及操作301
13.1.3 文件的存储结构301
13.2 顺序文件301
13.3 索引文件302
133.1 ISAM文件303
13.3.2 VSAM文件306
13.4 哈希文件308
13.5 多关键字文件309
13.5.1 多重表文件309
13.5.2 倒排文件310
13.6 小结310
13.7 习题310
13.8 上机实验题311
第14章 采用面向对象的方法描述算法312
14.1 面向对象的概念312
14.2 用C++描述面向对象的程序313
14.2.1 类314
14.2.2 类对象316
14.2.3 构造函数和析构函数317
14.2.4 派生类320
14.3 用C++描述数据结构算法323
14.3.1 顺序表类323
14.3.2 链栈类325
14.3.3 二叉树类328
附录A 综合实验题332
附录B 实验报告格式333
参考文献334