图书介绍
数据结构与算法 C++语言版PDF|Epub|txt|kindle电子书版本网盘下载
![数据结构与算法 C++语言版](https://www.shukui.net/cover/69/31223124.jpg)
- 肖南峰编著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121083013
- 出版时间:2009
- 标注页数:305页
- 文件大小:19MB
- 文件页数:317页
- 主题词:数据结构-高等学校-教材;算法分析-高等学校-教材;C语言-程序设计-高等学校-教材
PDF下载
下载说明
数据结构与算法 C++语言版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 数据结构的内涵1
1.1.3 数据类型和抽象数据类型3
1.2 算法和算法分析4
1.2.1 算法的描述4
1.2.2 算法设计的要求4
1.2.3 算法分析4
本章总结7
习题18
第2章 线性表12
2.1 线性表的类型定义12
2.1.1 基本概念12
2.1.2 抽象数据类型描述12
2.1.3 线性表抽象类13
2.1.4 异常类NoMem和OutOfBounds14
2.2 线性表的顺序存储结构15
2.2.1 基本概念15
2.2.2 基本操作16
2.3 线性表的链式存储结构21
2.3.1 线性链表21
2.3.2 循环链表29
2.3.3 双向链表29
2.3.4 顺序表和链表的比较32
2.4 线性表的应用——多项式相加与Josephus问题32
2.4.1 多项式表示32
2.4.2 多项式相加35
本章总结37
习题238
第3章 栈与队列43
3.1 栈43
3.1.1 栈的定义43
3.1.2 栈的抽象类44
3.1.3 栈的顺序存储结构44
3.1.4 栈的链式存储结构46
3.2 栈的应用举例47
3.3 栈与递归51
3.4 队列51
3.4.1 队列的定义51
3.4.2 队列的顺序存储结构53
3.4.3 队列的链式存储结构58
本章总结60
习题361
第4章 串64
4.1 串的逻辑结构64
4.1.1 基本概念64
4.1.2 串的大小比较66
4.2 串的存储结构66
4.3 串函数与串的类定义67
4.3.1 常用的C++串函数67
4.3.2 串的类定义68
4.4 串模式匹配70
4.4.1 简单串模式匹配算法71
4.4.2 无回溯的匹配算法71
4.5 串的应用——文本编辑73
本章总结74
习题474
第5章 多维数组与广义表76
5.1 数组76
5.1.1 数组的定义76
5.1.2 C++的数组77
5.1.3 数组的存储结构与寻址问题77
5.2 类Array 1D80
5.3 矩阵的压缩存储82
5.3.1 特殊矩阵83
5.3.2 稀疏矩阵85
5.4 十字链表89
5.4.1 存储方式89
5.4.2 十字链表对象90
5.4.3 基本操作的实现91
5.4.4 十字链表相加法93
5.5 广义表95
5.5.1 广义表的定义95
5.5.2 广义表的抽象数据类型定义96
5.5.3 广义表的存储结构97
本章总结100
习题5101
第6章 树与二叉树103
6.1 树的相关概念103
6.1.1 树的递归定义和逻辑表示法103
6.1.2 树的基本术语103
6.1.3 树的抽象类型定义104
6.2 树的存储结构与遍历105
6.2.1 树的存储结构105
6.2.2 树与森林的遍历108
6.3 二叉树109
6.3.1 二叉树的定义109
6.3.2 二叉树的性质111
6.4 二叉树的存储结构112
6.4.1 顺序存储结构112
6.4.2 链式存储结构113
6.5 二叉树对象模型114
6.5.1 二叉树结点对象114
6.5.2 二叉树对象115
6.6 二叉树的遍历与线索化118
6.6.1 二叉树的遍历118
6.6.2 二叉树的线索化123
6.6.3 二叉树与森林的转换126
6.7 哈夫曼树及其应用128
6.7.1 哈夫曼树128
6.7.2 哈夫曼编码129
本章总结133
习题6134
第7章 图137
7.1 图的定义和术语137
7.2 图的对象抽象模型141
7.2.1 图结点对象抽象模型141
7.2.2 图的边对象抽象模型141
7.2.3 图对象抽象模型142
7.3 图的存储结构143
7.3.1 邻接矩阵143
7.3.2 邻接表148
7.3.3 十字链表(有向图)153
7.3.4 邻接多重表(无向图)155
7.4 图的遍历156
7.4.1 深度优先遍历156
7.4.2 广度优先遍历161
7.5 图的连通性问题163
7.5.1 图的连通分量163
7.5.2 生成树及生成森林164
7.6 有向无环图及其应用167
7.6.1 有向无环图167
7.6.2 AOV网与拓扑排序168
7.6.3 AOE网与关键路径171
本章总结176
习题7176
第8章 查找179
8.1 查找表的相关概念179
8.1.1 基本概念179
8.1.2 类型说明179
8.2 静态查找表180
8.2.1 概述180
8.2.2 顺序表的查找180
8.2.3 有序表的查找182
8.2.4 索引顺序表的查找183
8.3 动态查找表186
8.3.1 概述186
8.3.2 二叉排序树186
8.3.3 平衡二叉树191
8.3.4 B-树和B+树193
8.4 哈希表198
8.4.1 哈希表的定义198
8.4.2 哈希函数的构造198
8.4.3 处理冲突的方法200
8.4.4 哈希表的查找及其分析204
本章总结205
习题8206
第9章 内部排序208
9.1 排序的基本概念208
9.2 插入排序209
9.2.1 直接插入排序209
9.2.2 折半插入排序211
9.2.3 2路插入排序211
9.2.4 表插入排序212
9.2.5 希尔排序214
9.3 交换排序215
9.3.1 冒泡排序215
9.3.2 快速排序216
9.4 选择排序218
9.4.1 简单选择排序218
9.4.2 堆排序219
9.5 归并排序224
9.6 基数排序225
9.6.1 多关键码的排序225
9.6.2 链式基数排序226
9.7 内排序方法的比较和讨论227
本章总结228
习题9229
第10章 文件组织和外排序231
10.1 外存储器概述231
10.1.1 磁带及其信息的存取231
10.1.2 磁盘及其信息的存取232
10.1.3 U盘232
10.2 文件的基本概念233
10.2.1 文件233
10.2.2 文件的操作(运算)与存取233
10.2.3 文件的物理结构234
10.3 顺序文件235
10.4 索引文件235
10.5 ISAM文件和VSAM文件236
10.5.1 ISAM文件236
10.5.2 VSAM文件238
10.6 散列文件239
10.7 多关键字文件240
10.7.1 多重表文件241
10.7.2 倒排文件241
10.8 外部排序242
本章总结243
习题10244
第11章 贪婪算法247
11.1 最优化问题247
11.2 算法思想248
11.3 应用248
11.3.1 货箱装船248
11.3.2 0-1背包问题249
11.3.3 拓扑排序250
11.3.4 二分覆盖250
11.3.5 单源最短路径254
11.3.6 最小代价生成树256
习题11259
第12章 分而治之算法261
12.1 算法思想261
12.2 应用261
12.2.1 最大最小问题261
12.2.2 归并排序263
12.2.3 快速排序265
12.2.4 选择问题265
12.2.5 距离最近的点对问题267
习题12271
第13章 动态规划272
13.1 算法思想272
13.2 应用272
13.2.1 0-1背包问题272
13.2.2 图像压缩274
13.2.3 矩阵连乘法279
习题13282
第14章 回溯284
14.1 算法思想284
14.2 应用285
14.2.1 货箱装船285
14.2.2 0-1背包问题288
14.2.3 最大完备子图291
习题14293
第15章 分枝定界法294
15.1 算法思想294
15.2 应用295
15.2.1 货箱装船295
15.2.2 0-1背包问题301
15.2.3 最大完备子图302
习题15304
参考文献305