图书介绍
数据结构PDF|Epub|txt|kindle电子书版本网盘下载
![数据结构](https://www.shukui.net/cover/24/31491543.jpg)
- 杨秀金主编 著
- 出版社: 西安:西安电子科技大学出版社
- ISBN:756060854X
- 出版时间:2000
- 标注页数:239页
- 文件大小:10MB
- 文件页数:251页
- 主题词:数据结构-高等学校:技术学校-教材
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 数据结构有关概念及术语3
1.1.3 数据结构和抽象数据类型(ADT)3
1.2 算法描述与分析4
1.2.1 什么是算法4
1.2.2 算法描述工具——C语言5
1.2.3 算法分析技术初步6
习题一7
第2章 线性表9
2.1 线性表的定义及其运算9
2.1.1 线性表的定义9
2.1.2 各种运算简介9
2.2 线性表的顺序存储结构(向量)10
2.2.1 顺序存储结构(向量)10
2.2.2 向量中基本运算的实现10
2.3 线性表的链表存储结构12
2.3.1 单链表与指针12
2.3.2 单链表的基本运算13
2.4 循环链表和双向链表17
2.4.1 循环链表17
2.4.2 双向链表18
2.4.3 顺序存储结构与链表存储结构的综合分析与比较19
2.5 多项式相加问题19
2.5.1 多项式相加的链表存储结构19
2.5.2 多项式相加的算法实现20
2.6 线性表的算法实现举例21
2.6.1 实现线性表顺序存储结构及运算的C语言源程序21
2.6.2 单链表处理的C语言源程序23
习题二25
第3章 栈和队列26
3.1 栈26
3.1.1 栈的定义及其运算26
3.1.2 栈的顺序存储结构(向量)27
3.1.3 栈的链表存储结构30
3.1.4 栈的应用31
3.2 队列36
3.2.1 队列的定义及运算36
3.2.2 队列的顺序存储结构(向量)37
3.2.3 队列的链表存储结构39
3.3 栈和队列的算法实现举例42
习题三46
第4章 串47
4.1 串的基本概念47
4.2 串的存储结构48
4.2.1 串的顺序存储48
4.2.2 串的链表存储49
4.2.3 串变量的存储映象50
4.3 串的运算50
4.3.1 串的运算简介50
4.3.2 串的匹配运算53
4.4 文本编辑56
习题四58
第5章 数组和广义表59
5.1 数组的基本概念59
5.1.1 数组的概念59
5.1.2 数组的顺序表示61
5.1.3 特殊矩阵的压缩存储62
5.2 稀疏矩阵的三元组存储63
5.2.1 三元组表64
5.2.2 稀疏矩阵的运算64
5.3 稀疏矩阵的十字链表存储66
5.3.1 十字链表的组成67
5.3.2 十字链表的有关算法68
5.4 广义表69
5.4.1 广义表的概念和特性69
5.4.2 广义表的存储结构70
5.4.3 求广义表的深度71
5.4.4 广义表的输出73
5.4.5 建立广义表的存储结构73
5.5 迷宫问题75
习题五78
第6章 树80
6.1 树的基本概念和术语80
6.1.1 树的定义80
6.1.2 树的常用术语81
6.1.3 树的表示方法81
6.2 二叉树82
6.2.1 二叉树的定义82
6.2.2 二叉树的重要性质82
6.2.3 二叉树的存储结构83
6.2.4 二叉树二叉链表的一个生成算法84
6.3 遍历二叉树85
6.3.1 先根遍历86
6.3.2 中根遍历87
6.3.3 后根遍历88
6.3.4 二叉树遍历算法的应用90
6.4 线索二叉树91
6.4.1 线索二叉树的基本概念91
6.4.2 线索二叉树的逻辑表示图92
6.4.3 中根次序线索化算法93
6.4.4 在中根线索树上检索某结点的前趋或后继95
6.4.5 在中根线索树上遍历二叉树95
6.5 二叉树、树和森林96
6.5.1 树的存储结构96
6.5.2 树与二叉树之间的转换96
6.5.3 森林与二叉树的转换98
6.5.4 一般树或森林的遍历99
6.6 树的应用100
6.6.1 二叉排序树100
6.6.2 哈夫曼树及其应用103
6.7 二叉树的建立和遍历C语言源程序示例107
习题六110
第7章 图111
7.1 图的基本概念和术语111
7.1.1 图的基本概念111
7.1.2 路径和回路112
7.1.3 连通图112
7.1.4 顶点的度113
7.2 图的存储结构113
7.2.1 邻接矩阵113
7.2.2 邻接链表114
7.3 图的遍历和求图的连通分量115
7.3.1 图的建立115
7.3.2 图的遍历116
7.3.3 求图的连通分量118
7.4 图的生成树119
7.4.1 生成树的概念119
7.4.2 最小生成树119
7.4.3 普里姆(Prim)算法和克鲁斯卡尔(Kruskal)算法121
7.5 最短路径124
7.5.1 单源顶点最短路径问题求解124
7.5.2 求有向网中每对顶点间的路径126
7.6 有向无环图及应用128
7.6.1 拓扑排序128
7.6.2 关键路径131
7.7 图的算法C语言程序实现举例137
7.7.1 无向图的邻接表的建立和遍历137
7.7.2 有向无环图的拓扑排序和求关键路径140
习题七145
第8章 查找147
8.1 基本概念147
8.2 静态查找表148
8.2.1 顺序表的查找148
8.2.2 有序表的查找150
8.2.3 索引顺序表的查找153
8.3 动态查找表154
3.3.1 二叉排序树和二叉平衡树154
8.3.2 B-树和B+树160
8.4 哈希表及其查找164
8.4.1 哈希表与哈希函数164
8.4.2 构造哈希函数的常用方法165
8.4.3 解决冲突的主要方法167
8.5 哈希表算法实现C语言源程序171
习题八173
第9章 排序175
9.1 排序基本概念175
9.2 插入排序175
9.2.1 直接插入排序176
9.2.2 折半插入排序176
9.2.3 希尔排序177
9.3 交换排序178
9.3.1 冒泡排序178
9.3.2 快速排序179
9.4 选择排序182
9.4.1 简单选择排序183
9.4.2 堆排序183
9.5 归并排序187
9.6 基数排序188
9.7 内部排序总结192
9.8 有关排序算法的C语言源程序193
9.9 多路归并用于外排序的简介198
习题九200
第10章 文件201
10.1 文件的基本概念201
10.1.1 文件201
10.1.2 外存储器及信息特点203
10.2 文件的组织204
10.2.1 顺序文件205
10.2.2 散列文件205
10.2.3 索引文件206
10.2.4 索引顺序文件207
10.3 多关键字文件209
10.3.1 多重表文件209
10.3.2 倒排文件210
习题十211
第11章 数据结构程序设计及其它213
11.1 数据结构程序设计213
11.1.1 算法书写规范213
11.1.2 实习步骤规范214
11.2 实习报告范例216
第12章 数据结构与面向对象程序设计(OOP)221
12.1 面向对象程序设计的引入221
12.1.1 面向对象的基本概念221
12.1.2 面向对象的程序设计方法概要222
12.2 面向对象的数据结构程序设计举例224
12.2.1 线性表的程序设计225
12.2.2 堆栈的程序设计举例229
附录233
附录A C语言的运算符和结合性233
附录B C语言常用语法提要234
附录C C库函数236
参考文献239