图书介绍
数据结构PDF|Epub|txt|kindle电子书版本网盘下载
- 汪沁,奚李峰编著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302208044
- 出版时间:2009
- 标注页数:257页
- 文件大小:42MB
- 文件页数:270页
- 主题词:数据结构
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 数据结构有关概念与术语4
1.2 抽象数据类型6
1.3 算法描述与分析7
1.3.1 什么是算法7
1.3.2 算法分析技术8
1.4 小结11
讨论小课堂12
习题12
第2章 线性表14
2.1 线性表的定义及其运算14
2.1.1 线性表的定义14
2.1.2 线性表的基本操作14
2.2 线性表的顺序存储结构及实现15
2.2.1 顺序存储结构15
2.2.2 线性表在向量中基本运算的实现17
2.3 线性表的链表存储结构21
2.3.1 单链表22
2.3.2 线性链表基本运算的实现24
2.4 循环链表和双向链表30
2.4.1 循环链表30
2.4.2 双向链表31
2.4.3 顺序存储结构与链表存储结构的综合分析与比较33
2.5 单链表的应用33
2.5.1 多项式相加的链表存储结构34
2.5.2 多项式相加的算法实现34
2.6 小结35
讨论小课堂36
习题37
第3章 栈和队列39
3.1 栈39
3.1.1 栈的定义39
3.1.2 栈的基本操作40
3.2 栈的顺序存储结构及实现41
3.2.1 栈的顺序存储结构41
3.2.2 顺序栈的类定义42
3.3 栈的链表存储结构及实现44
3.4 栈的应用46
3.4.1 表达式的计算46
3.4.2 子程序的嵌套调用48
3.4.3 递归调用49
3.4.4 n阶Hanoi塔问题50
3.5 队列51
3.5.1 队列的定义及运算51
3.5.2 队列的抽象数据类型描述52
3.6 队列的顺序存储结构及实现52
3.7 队列的链表存储结构及实现55
3.8 队列的应用58
3.9 小结59
讨论小课堂60
习题60
第4章 串62
4.1 串的基本概念62
4.1.1 串的定义62
4.1.2 串的基本操作63
4.2 串的存储与基本操作的实现65
4.2.1 定长顺序串65
4.2.2 堆串66
4.2.3 块链串66
4.2.4 串操作的实现67
4.3 串的模式匹配70
4.3.1 朴素模式匹配算法71
4.3.2 模式匹配的KMP算法71
4.4 串的应用举例:文本编辑76
4.5 小结77
讨论小课堂78
习题78
第5章 数组和广义表80
5.1 数组的定义及运算80
5.1.1 数组的定义80
5.1.2 数组的基本操作81
5.2 数组的存储结构81
5.3 特殊矩阵的压缩存储82
5.3.1 对称矩阵83
5.3.2 三角矩阵84
5.3.3 对角矩阵85
5.4 稀疏矩阵的压缩存储86
5.4.1 稀疏矩阵的顺序存储结构——三元组顺序表86
5.4.2 稀疏矩阵的链式存储结构89
5.5 广义表92
5.5.1 广义表的定义和基本运算92
5.5.2 广义表的存储93
5.6 小结95
讨论小课堂96
习题96
第6章 树与二叉树98
6.1 树的概念及术语98
6.1.1 树的定义99
6.1.2 树的基本操作100
6.1.3 树的表示方式100
6.2 二叉树101
6.2.1 二叉树的定义101
6.2.2 二叉树的重要性质101
6.2.3 二叉树的存储结构102
6.3 二叉树的遍历104
6.3.1 先序遍历105
6.3.2 中序遍历105
6.3.3 后根遍历106
6.3.4 按层遍历107
6.3.5 非递归遍历算法107
6.3.6 二叉树的建立109
6.3.7 二叉树遍历的应用举例111
6.4 二叉树与树、森林的转换112
6.4.1 树与二叉树的转换112
6.4.2 森林与二叉树的转换113
6.5 树的存储结构114
6.5.1 树的双亲表示法115
6.5.2 孩子表示法115
6.5.3 孩子-兄弟表示法115
6.6 树的遍历116
6.6.1 一般树的遍历116
6.6.2 森林的遍历118
6.7 二叉树的应用118
6.7.1 哈夫曼树118
6.7.2 哈夫曼树的构造119
6.7.3 哈夫曼树的实现算法119
6.7.4 哈夫曼编码121
6.8 小结121
讨论小课堂122
习题122
第7章 图125
7.1 图的基本概念125
7.1.1 图的定义125
7.1.2 图的术语126
7.1.3 图的基本操作128
7.2 图的存储结构129
7.2.1 图的邻接矩阵129
7.2.2 邻接矩阵表示法的C语言类型描述131
7.2.3 邻接矩阵表示法的基本操作的实现132
7.2.4 图的邻接链表133
7.2.5 图的邻接表表示法的C语言类型描述134
7.2.6 建立图的邻接表函数和输出图的信息函数135
7.3 图的遍历与图的连通性137
7.3.1 图的深度优先遍历137
7.3.2 图的广度优先遍历140
7.3.3 非连通图和连通分量141
7.4 图的最小生成树142
7.4.1 最小生成树的基本概念142
7.4.2 普里姆算法143
7.4.3 克鲁斯卡尔算法145
7.5 最短路径146
7.5.1 从某顶点到其余各顶点的最短路径146
7.5.2 每对顶点之间的最短路径149
7.6 拓扑排序与关键路径151
7.6.1 拓扑排序151
7.6.2 关键路径154
7.7 图的应用159
7.7.1 图在路由器寻径中的应用160
7.7.2 图在物流信息系统中应用160
7.8 小结161
讨论小课堂161
习题162
第8章 查找163
8.1 概述163
8.2 静态查找表164
8.2.1 顺序查找164
8.2.2 折半查找165
8.2.3 分块查找166
8.3 动态查找表168
8.3.1 二叉排序树168
8.3.2 平衡二叉树173
8.4 小结176
讨论小课堂176
习题176
第9章 排序178
9.1 排序的基本概念178
9.2 插入排序179
9.2.1 直接插入排序179
9.2.2 折半插入排序180
9.2.3 希尔排序180
9.3 交换排序182
9.3.1 冒泡排序182
9.3.2 快速排序183
9.4 选择排序186
9.4.1 简单选择排序186
9.4.2 堆排序187
9.5 归并排序190
9.6 基数排序192
9.7 小结195
讨论小课堂196
习题197
第10章 索引结构与散列198
10.1 静态索引结构198
10.1.1 索引表198
10.1.2 索引表查找198
10.2 动态索引结构(B-树和B+树)200
10.2.1 B-树的定义201
10.2.2 B-树的运算202
10.2.3 B+树204
10.3 键树及Trie树205
10.3.1 键树的定义205
10.3.2 双链树206
10.3.3 Trie树207
10.4 哈希表及其查找208
10.4.1 哈希表与哈希函数208
10.4.2 构造哈希函数的常用方法209
10.4.3 解决冲突的主要方法211
10.4.4 哈希查找的性能分析215
10.5 小结216
讨论小课堂216
习题217
附录 上机实验指导220
第1部分 上机实验要求及规范220
第2部分 实验部分221
实验1 复数ADT及其实现221
实验2 线性表223
实验3 栈和队列230
实验4 串235
实验5 数组237
实验6 树与二叉树239
实验7 图243
实验8 查找247
实验9 排序249
实验10 哈希查找254
参考文献257