图书介绍
数据结构简明教程pdf电子书版本下载
- 徐孝凯编著 著
- 出版社: 北京:清华大学出版社
- ISBN:7302016631
- 出版时间:1995
- 标注页数:247页
- 文件大小:11MB
- 文件页数:255页
- 主题词:数据结构
PDF下载
下载说明
数据结构简明教程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一章 绪论 1
第一章 绪论 1
1.1 什么是数据结构 1
1-1 基本术语 1
1.2 数据结构的发展简史及其在计算机科学中的地位 3
1.3 算法 3
1.4.1 算法格式 5
1.4 SPARKS语言简介 5
1.4.2 SPARKS语句 6
1-2 算法描述 6
1-3 算法评价 8
1.5.1 时间复杂度 9
1.5 算法分析 9
1.5.2 空间复杂度 10
1.6 算法设计的基本步骤 11
1.5.3 其他方面 11
习题 12
1-4 pascal 语言中的数据类型 12
第二章 线性表 14
2.1.1 线性表的定主 14
2.1 线性表及其基本运算 14
2.1.2 关于线性表的基本运算 15
2.2 线性表的顺序存储结构 16
2.3 线性表的链式存储结构 18
习题一 18
2.3.1 线性链表 19
一、线性表的定义 20
2-1 线性表的定义和顺序存储 20
第二章 线性表 20
二、线性表的顺序存储 21
2.3.2 线性链表的有关算法 21
2-2 线性表的运算 22
2-3 栈 27
一、栈的定义 27
2.4 循链表及其运算 27
二、栈的顺序存储 27
三、栈的运算 28
2.5 双向链表及其运算 30
四、双栈操作 30
2.5.1 双几链表的构造 30
2.5.2 双向链表的插入与删除算法 31
2-4 栈的应用举例 32
2.6.1 链式存储结构下的一元多项式加法 33
2.6 链表的应用举例 33
2.6.2 动态存储管理 35
习题 41
第三章 数组 43
3.1 数组的概念 43
3.1.2 多维数组 43
3.1.1 一维数组 43
3.2 数组的存储结构 44
3.3 矩阵的压缩存储 45
二、队列的顺序存储 46
3.3.2 对角矩阵的压缩存储 46
2-5 队列 46
一、队列的定义 46
3.3.1 对称矩阵的压缩存储 46
3.4 稀疏矩阵的三元组表示 47
三、队列的运算 47
一、字符串的定义 49
2-6 字符串 49
四、队列的应用简介 49
二、字符串的顺序存储 50
三、字符串的运算 52
3.5 稀疏矩阵的十字链表表示 52
习题二 54
3.6.1 一元多项式的数组表示 56
3.6 数组的应用举例 56
3-1 链接表的定义 57
3.6.2 N价魔方 57
第三章 链接表 57
习题 58
3-2 线性链接表的运算 60
4.1.1 堆栈的定义 60
4.1 堆栈的概念及其运算 60
第四章 堆栈和队列 60
4.2 堆栈的顺序存储结构 61
4.1.2 堆栈的有关运算 61
4.3 堆栈的链式存储结构 64
4.4 堆栈的应用举例 65
4.4.1 堆栈在递归中的应用 65
3-3 链接的栈和队列 66
一、链栈的定义与运算 66
二、链队的定义与运算 67
三、可利用空间表 68
4.4.2 表达式的计算 69
一、稀疏矩阵的三元组线性表表示 71
3-4 稀疏矩阵 71
二、稀疏矩阵的顺序存储 72
三、稀疏矩阵的链接存储 72
4.4.3 一个趣味游戏——迷宫问题 73
四、稀疏矩阵的运算 73
4.5.1 队列的定义 75
4.5 队列的概念及其运算 75
4.5.2 队列的有关运算 76
4.6 队列的顺序存储结构 76
3-5 广义表 77
一、广义表的定义 77
二、广义表的存储结构 78
4.7 队列的链式存储结构 79
三、广义表的运算 80
习题 81
习题三 81
第五章 广义表 83
5.1 广义表的概念 83
5.2 广义表的存储结构 84
第四章 树 84
4-1 树的概念 84
一、树的定义 84
5.3 多元多项式的表示 86
二、 树的表示 86
三、树的基本术语 87
习题 87
第六章 串 88
6.1 串的概念 88
6.1.1 串的定义 88
4-2 二叉树 88
一、二叉树的定义 88
二、二叉树的性质 88
6.1.2 串的几个概念 89
6.2 串的基本运算 89
6.3 串的存储结构 90
6.3.1 串的顺序存储结构 90
三、二叉树的存储结构 91
6.3.2 串的链式存储结构 91
6.4 串的几个运算 92
四、二叉树的生成 93
4-3 二叉树的运算 94
一、二叉树的遗历 95
三、输出二叉树 97
二、求二叉树的深度 97
习题 97
7.1 树的基本概念 98
7.1.1 树的定义 98
第七章 树与二叉树 98
四、二叉树的线索化 99
7.1.2 树的逻辑表示方法 100
7.1.3 基本术语 100
7.1.4 树的基本运算 101
五、利用线索进行遍历 101
7.2.1 多重锭表表示法 102
7.2 树的存储结构 102
7.2.2 三重链表表示 102
7.3.1 二叉树的定义 103
7.3 二叉树 103
4-4 二叉排序树 103
一、二叉排序树的定义 103
二、二叉排序树的查找 103
7.3.2 二叉树的基本运算 104
三、二叉排序树的插入和生成 104
7.3.3 满二叉树与完全二叉树 105
7.3.4 二叉树的性质 105
7.3.5 二叉树的存储结构 106
四、 二叉排序树的删除 106
4-5 哈夫曼树 109
一、基本术语 109
7.4.1 二叉树的顺序存储结构 109
7.4 二叉树的存储结构 109
二、构造哈夫曼树 110
7.4.2 二叉树的链式存储结构 110
三、哈无曼编码 111
7.5 树的遍历 112
7.5.1 二叉树的遍历 112
一、树的存储结构 112
4-6 树的存储结构和运算 112
二、树的运算 113
习题四 117
7.5.2 树和树林的遍历 118
第五章 图 119
5-1 图的概念 119
一、图的定义 119
7.5.3 由遍历序列恢复二叉树 119
7.6 线索二叉树 120
二、图的基本术语 120
7.6.1 线索二叉树的构造 121
5-2 图的存储结构 122
一、 邻接矩阵 122
7.6.2 线索二叉树的利用 122
7.6.3 二叉树的线索化算法 124
二、邻接表 124
7.6.4 线索树的更新 124
7.7 二叉排序树的定义 125
7.7.1 二叉排序树的定义 126
7.7.2 二叉排序树的构造 126
三、边集散组 127
5-3 图的遍历 128
7.7.3 在二叉排序树中删除结点 128
一、深度优先搜索遍历 128
7.7.4 二叉排序树的查找 130
二、广度优先搜索遍历 131
7.8 平衡二叉要地 132
三、非边通图的遍历 133
5-4 图的生成树和最小生成树 133
一、普里姆算法 135
7.9 哈夫曼树胶其应用 138
7.9.1 哈夫曼树的 138
二、克鲁撕卡尔算法 138
7.9.2 哈夫曼编码 139
5-5 最短路径 140
一、从一顶点到其余各顶点的最短路径 141
7.10 树的一个应用——判定树 142
二、每对顶点之间的最短路径 144
习题 144
5-6 拓扑排序 147
8.1.1 图的定义和基本术语 147
8.1 图的基本概念 147
第八章 图 147
5-7 关键路径 150
8.1.2 图的基本运算 150
8.2 图的存储方法 150
8.2.1 邻接矩阵存储方法 151
8.2.2 邻接表存储方法 151
8.2.4 无向图的多重邻接表存储方法 154
8.2.3 有向图的十字链表存储方法 154
8.3 图的遍历 155
习题五 156
8.3.1 深度优行搜索(Depth First Search) 156
8.3.2 广度优先搜索(Breadth First Search) 158
6-1 查找的基本概念 159
第六章 查找 159
8.4 最小生成树 159
一、顺序查找 160
6-2 顺序表查找 160
二、二分查找 161
8.5.1 某个源点到其余各个顶点的最短路径 162
8.5 最短路径问题 162
6-3 索引查找 164
一、索引的概念 164
8.5.2 每一对顶点之间的最短路径 165
二、索引查找算法 167
8.6 AOV网与拓扑排序 168
8.6.1 AOV网(Activity on vertex network) 168
一、散列的概念 169
8.6.2 拓扑排序 169
8.6.3 拓扑排序算法 169
6-4 散列查找 169
二、散列函数 170
三、处理冲突的方法 172
8.7 AOE网与关键路径 173
8.7.1 AOE网(Activity on edge onetwork) 173
8.7.2 关键路径 174
8.7.3 关键路径的确定 174
四、散列表的插入和查找算法 175
习题 176
6-5 树表查找 177
一、平衡树 178
9.1 文件概述 179
9.1.1 文件的基本术语 179
第九章 文件及查找 179
9.1.2 文件的存储介质 180
9.1.3 文件的基本操作 181
9.2.1 连续顺序文件 182
9.2 顺序文件 182
二、B树 183
9.2.2 链接顺序文件 185
9.3.2 非稠密索引文件 186
9.3 索引文件 186
9.3.1 稠密索引文件 186
9.3.3 多级索引文件 187
9.4.2 ISAM匠索引结构 189
9.4.1 空间的划分 189
9.4 索引顺序存取文件 189
9.4.3 ISAM文件的基本操作 191
习题六 191
第七章 排序 193
9.4.4 主索引和柱面索引的最佳位置 193
9.5 B-树和B+-树 193
9.5.1 B-树概述 193
7-1 排序的基本概念 193
7-2 插入排序 194
一、直接插入排序 194
9.5.2 B-树的基本操作 194
二、希尔排序 197
7-3 选择排序 198
一、直接选择排序 198
9.5.3 B+-树的概念 199
9.5.4 B+-树的基本操作 200
9.6 虚拟存储存取文件 200
9.6.1 VSAM的结构 200
二、堆排序 200
9.6.2 VSAM的操作 201
9.7 静态索引与动态索引的比较 202
9.8 杂凑(Hash)文件 202
9.8.1 概述 202
9.8.2 杂凑函数的几种构造方法 203
一、气泡排序 204
7-4 交换排序 204
二、快速排序 205
9.8.3 处理冲突的方法 205
9.8.4 杂凑文件的操作 206
9.8.5 散列法的平均查找长度 208
9.9 多重链表文件 208
9.10 倒排文件 209
7-5 归并排序 209
习题 210
第十章 内排序 212
10.1 概述 212
10.1.1 排序的要领 212
10.1.2 排序的分类 212
7-6 各种排序方法的比较 212
10.2 插入排序(INSERTION SORT) 213
习题七 213
一、磁带存储器 215
10.3 选择排序(SELECTION SORT) 215
8-1 外存设备 215
第八章 文件 215
10.4 泡排序(BUBBLE SORT) 216
二、磁盘存储器 217
8-2 顺序文件 218
10.5 谢尔排序(SHELL SORT ) 218
10.6 快速排序(QUICK SORT) 219
8-3 索引文件 220
10.7 堆积排序(HEAP SORT ) 221
10.7.1 堆积的定义 221
10.7.2 堆积排序算法 222
8-4 ISAM文件和VSAM文件 223
一、ISAM文件 223
10.8 二路归并排序(2-WAY MERGE SORT) 225
10.8.1 归并予算法 225
10.8.2 一趟归并扫描子算法 226
二、VSAM文件 227
10.8.3 二路归并排序算法 227
10.9 基数排序(RADIX SORT) 228
8-5 散列文件 229
一、按桶散列法 229
二、可扩充散列法 230
10.10 各种内排序列算法的比较 231
10.10.1 稳定性比较 231
10.10.2 复杂性比较 231
习题 233
8-6 多重链接表文件 233
8-7 倒排文件 235
11.1 概述 235
第十一章 外排序 235
11.2 磁带排序 236
11.2.1 多路平衡归并排序法 236
习题八 236
部分习题参考解答 237
11.2.2 多步归并排序 238
11.3 初始归并段的合理布与产生 239
11.3.1初始归并段的合理分布 239
11.3.2 一处产生初始归并段的方法——转换选择排序 240
11.4 磁盘排序 242
11.4.1 最佳最并树 242
习题 245
附录 部分习题参考答案 246
参考书目 247
参考文献 258