图书介绍
数据结构教程 C++语言描述PDF|Epub|txt|kindle电子书版本网盘下载
![数据结构教程 C++语言描述](https://www.shukui.net/cover/47/30608185.jpg)
- 李春葆主编;陈良臣,尹为民,蒋晶钰,喻丹丹编著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302351214
- 出版时间:2014
- 标注页数:416页
- 文件大小:52MB
- 文件页数:427页
- 主题词:数据结构-高等学校-教材;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数据的逻辑结构2
1.1.3数据的存储结构5
1.1.4数据的运算8
1.1.5数据结构和数据类型9
1.2算法及其描述11
1.2.1什么是算法11
1.2.2算法描述12
1.3算法分析31
1.3.1算法设计的目标31
1.3.2算法的时间效率分析31
1.3.3算法的存储空间分析34
1.4数据结构的目标35
本章小结39
练习题139
第2章 线性表42
2.1线性表的定义42
2.1.1什么是线性表42
2.1.2线性表的抽象数据类型描述43
2.2线性表的顺序存储结构43
2.2.1线性表的顺序存储结构——顺序表43
2.2.2顺序表基本运算的实现44
2.3线性表的链式存储结构50
2.3.1线性表的链式存储结构——链表50
2.3.2单链表51
2.3.3双链表62
2.3.4循环链表69
2.4线性表的应用75
2.4.1求解两个多项式相加问题75
2.4.2采用顺序存储结构求解76
2.4.3采用链式存储结构求解79
本章小结83
练习题283
第3章 栈和队列88
3.1栈88
3.1.1栈的定义88
3.1.2栈的顺序存储结构及其基本运算的实现90
3.1.3栈的链式存储结构及其基本运算的实现95
3.1.4栈的应用示例98
3.2队列109
3.2.1队列的定义109
3.2.2队列的顺序存储结构及其基本运算的实现110
3.2.3队列的链式存储结构及其基本运算的实现117
3.2.4队列的应用示例122
本章小结126
练习题3126
第4章 串129
4.1串的基本概念129
4.1.1什么是串129
4.1.2串的抽象数据类型130
4.2串的存储结构131
4.2.1串的顺序存储结构——顺序串131
4.2.2串的链式存储结构——链串136
4.3串的模式匹配144
4.3.1 Brute-Force算法145
4.3.2 KMP算法147
本章小结153
练习题4153
第5章 数组和广义表155
5.1数组155
5.1.1数组的基本概念155
5.1.2数组的存储结构156
5.1.3特殊矩阵的压缩存储158
5.2稀疏矩阵160
5.2.1稀疏矩阵的三元组表示160
5.2.2稀疏矩阵的十字链表表示164
5.3递归166
5.3.1递归的定义166
5.3.2何时使用递归167
5.3.3递归模型168
5.3.4递归算法的设计步骤169
5.3.5递归算法转换为非递归算法172
5.4广义表173
5.4.1广义表的定义173
5.4.2广义表的存储结构175
5.4.3广义表的运算178
本章小结183
练习题5184
第6章 树和二叉树186
6.1树186
6.1.1树的定义186
6.1.2树的逻辑结构表示方法187
6.1.3树的基本术语188
6.1.4树的性质189
6.1.5树的基本运算190
6.1.6树的存储结构191
6.2二叉树193
6.2.1二叉树的概念193
6.2.2二叉树的性质194
6.2.3二叉树的存储结构196
6.2.4二叉树的递归算法设计198
6.2.5二叉树的基本运算及实现199
6.2.6二叉树的遍历203
6.2.7二叉树的构造221
6.3线索二叉树226
6.3.1线索二叉树的定义226
6.3.2线索化二叉树228
6.3.3遍历线索化二叉树230
6.4哈夫曼树231
6.4.1哈夫曼树的定义231
6.4.2哈夫曼树的构造算法232
6.4.3哈夫曼编码234
6.5二叉树与树、森林之间的转换236
6.5.1树和二叉树的转换236
6.5.2森林和二叉树的转换237
本章小结238
练习题6239
第7章 图242
7.1图的基本概念242
7.1.1图的定义242
7.1.2图的基本术语243
7.2图的存储结构和基本运算的实现246
7.2.1邻接矩阵存储方法246
7.2.2邻接表存储方法247
7.3图的遍历254
7.3.1什么是图的遍历254
7.3.2深度优先遍历254
7.3.3广度优先遍历256
7.3.4非连通图的遍历257
7.3.5图遍历算法的应用259
7.4生成树和最小生成树267
7.4.1生成树和最小生成树的概念267
7.4.2普里姆算法271
7.4.3克鲁斯卡尔算法273
7.5最短路径275
7.5.1路径的概念275
7.5.2求一个顶点到其余各顶点的最短路径276
7.5.3求每对顶点之间的最短路径278
7.6拓扑排序282
7.7 AOE网与关键路径284
本章小结289
练习题7289
第8章 查找294
8.1查找的基本概念294
8.2线性表的查找295
8.2.1顺序查找295
8.2.2折半查找297
8.2.3索引存储结构和分块查找301
8.3树表的查找304
8.3.1二叉排序树304
8.3.2平衡二叉树312
8.3.3 B-树317
8.3.4B+树321
8.3.5 2-3-4树324
8.3.6红黑树326
8.4哈希表的查找329
8.4.1哈希表的基本概念329
8.4.2哈希函数的构造方法330
8.4.3哈希冲突的解决方法331
8.4.4哈希表的查找及性能分析334
本章小结336
练习题8336
第9章 内排序339
9.1排序的基本概念339
9.2插入排序341
9.2.1直接插入排序341
9.2.2折半插入排序344
9.2.3希尔排序345
9.3交换排序348
9.3.1冒泡排序348
9.3.2快速排序349
9.4选择排序353
9.4.1简单选择排序353
9.4.2堆排序355
9.5归并排序359
9.6基数排序362
9.7各种内排序方法的比较和选择366
本章小结367
练习题9367
第10章 外排序370
10.1外排序概述370
10.2磁盘排序371
10.2.1磁盘排序过程371
10.2.2生成初始归并段373
10.2.3多路平衡归并375
10.2.4最佳归并树378
本章小结381
练习题10381
第11章 数据结构和STL383
11.1STL概述383
11.1.1STL的发展和特点383
11.1.2 C+++标准库和STL383
11.1.3什么是算法384
11.1.4什么是容器385
11.1.5什么是迭代器386
11.1.6 STL和数据结构的关系386
11.2使用ST L387
11.2.1使用STL的名字空间387
11.2.2使用STL的示例387
11.3迭代器389
11.3.1自己设计迭代器389
11.3.2 STL的迭代器及其使用391
11.4容器392
11.4.1顺序容器392
11.4.2关联容器397
11.4.3适配器容器400
11.5算法404
11.5.1非可变序列算法404
11.5.2可变序列算法404
11.5.3排序算法405
11.5.4通用数值算法405
本章小结407
练习题11407
附录A 书中部分算法清单410
附录B 部分练习题参考答案414
参考文献416