图书介绍
数据结构教程PDF|Epub|txt|kindle电子书版本网盘下载
![数据结构教程](https://www.shukui.net/cover/32/33466670.jpg)
- 施伯乐主编 著
- 出版社: 上海:复旦大学出版社
- ISBN:9787309081640
- 出版时间:2011
- 标注页数:263页
- 文件大小:48MB
- 文件页数:277页
- 主题词:数据结构-教材
PDF下载
下载说明
数据结构教程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 基础1
1.1 什么是数据结构1
1.2 程序性能分析2
1.2.1 程序性能的衡量标准2
1.2.2 程序的事后测试2
1.2.3 时间复杂性的计算方法4
1.2.4 空间复杂性的计算方法4
1.2.5 计算复杂性的表示方法5
1.2.6 两种代价计算方法的比较6
1.3 从抽象数据类型到C++语言描述7
1.4 C++基础知识7
1.4.1 C++中的类和对象8
1.4.2 C++的输入和输出11
1.4.3 C++中的变量和常量13
1.4.4 C++中的函数14
1.4.5 C++中的动态存储分配18
1.4.6 C++中的继承18
1.4.7 C++中的多态性20
1.4.8 其他20
1.5 进阶导读22
习题23
第2章 线性表24
2.1 线性表及其基本运算24
2.1.1 线性表的定义与特点24
2.1.2 线性表的基本运算25
2.2 数组26
2.2.1 数组的定义和特点26
2.2.2 数组的类定义26
2.2.3 数组的顺序存储方式28
2.2.4 稀疏矩阵32
2.3 线性表的顺序表示——顺序表36
2.3.1 顺序表的定义和特点36
2.3.2 顺序表类定义36
2.3.3 顺序表的插入37
2.3.4 顺序表的删除38
2.3.5 顺序表的应用实例——用顺序存储的线性表表示多项式39
2.4 线性表的链式表示——链表44
2.4.1 线性链表的逻辑结构与建立44
2.4.2 线性链表的类定义45
2.4.3 线性链表的插入与删除46
2.4.4 线性链表的应用实例——用线性链表表示多项式49
2.4.5 几种变形的线性链表51
2.4.6 双向链表54
2.5 进阶导读56
习题57
第3章 串59
3.1 串的定义59
3.2 串的逻辑结构和基本操作60
3.3 串的存储结构61
3.3.1 串的数组存储表示61
3.3.2 串的块链存储表示61
3.4 串的实现62
3.4.1 串的自定义类62
3.4.2 串的实现63
3.5 串的模式匹配算法66
3.5.1 BF算法67
3.5.2 KR算法68
3.5.3 KMP算法70
3.5.4 BM算法72
3.6 进阶导读76
习题76
第4章 栈和队列78
4.1 栈78
4.1.1 栈的基本操作78
4.1.2 用数组实现栈79
4.1.3 用链表实现栈81
4.1.4 栈的应用实例82
4.2 队列92
4.2.1 用数组实现队列92
4.2.2 循环队列93
4.2.3 双向队列95
4.2.4 用链表实现队列96
4.2.5 队列的应用举例97
4.3 进阶导读98
习题99
第5章 递归和广义表100
5.1 递归的概念100
5.2 递归转化为非递归102
5.3 广义表106
5.3.1 广义表的概念与存储结构106
5.3.2 广义表递归算法的实现108
5.4 进阶导读110
习题110
第6章 树、二叉树和森林111
6.1 基本概念111
6.2 树的存储结构113
6.3 树的线性表示113
6.4 树的遍历114
6.5 二叉树116
6.6 二叉树的存储表示120
6.7 二叉树的各种遍历121
6.8 线索化二叉树124
6.9 堆130
6.10 计算二叉树的数目133
6.11 二叉树的应用:霍夫曼树和霍夫曼编码136
6.12 进阶导读140
习题140
第7章 查找与索引142
7.1 查找与索引的概念142
7.2 基于顺序表的查找143
7.2.1 顺序表143
7.2.2 顺序查找144
7.2.3 有序顺序表上的查找操作145
7.3 二叉查找树147
7.3.1 二叉查找树的结构147
7.3.2 二叉查找树上的查找149
7.3.3 基于二叉查找树的遍历150
7.3.4 最优二叉查找树153
7.3.5 动态二叉查找树160
7.4 B—树和B+树166
7.4.1 B—树的结构166
7.4.2 B—树的查询167
7.4.3 B—树的插入168
7.4.4 B—树的删除170
7.4.5 B+树172
7.5 Trie树173
7.5.1 Trie树的定义173
7.5.2 Trie树的查找174
7.5.3 Trie树的插入和删除175
7.6 Hash查找177
7.6.1 Hash函数177
7.6.2 解决冲突的方法179
7.6.3 Hash查找的讨论180
7.7 进阶导读181
习题182
第8章 图184
8.1 图的基本概念184
8.2 图的存储结构187
8.2.1 邻接矩阵187
8.2.2 邻接表189
8.3 图的遍历与求图的连通分量194
8.3.1 深度优先查找法194
8.3.2 广度优先查找法195
8.3.3 求图的连通分量197
8.4 生成树与最小(代价)生成树197
8.4.1 普里姆(Prim)算法198
8.4.2 克鲁斯卡尔(Kruskal)算法200
8.5 最短路径201
8.5.1 求某个顶点到其他顶点的最短路径202
8.5.2 求一对顶点之间的最短路径205
8.5.3 传递闭包207
8.6 拓扑排序210
8.7 关键路径213
8.8 进阶导读219
习题219
第9章 排序222
9.1 问题定义222
9.2 基本排序方法223
9.2.1 插入排序223
9.2.2 冒泡排序224
9.2.3 选择排序225
9.3 归并排序226
9.4 快速排序229
9.4.1 基本算法229
9.4.2 性能230
9.4.3 快速排序的一些改进策略232
9.4.4 重复值233
9.5 堆排序235
9.5.1 堆及其基本操作235
9.5.2 堆排序238
9.6 希尔排序241
9.7 基数排序242
9.8 内部排序方法的比较245
9.9 进阶导读——〈algorithm〉中的sort()函数246
习题247
第10章 外部排序249
10.1 外部存储设备249
10.1.1 磁带存储设备249
10.1.2 磁盘存储设备250
10.2 外排序的基本过程251
10.3 磁盘文件的外排序方法251
10.4 磁带文件的外排序方法254
10.4.1 平衡合并排序256
10.4.2 多阶段合并排序256
10.5 进阶导读262
习题262