图书介绍

数据结构 C++版pdf电子书版本下载

数据结构 C++版
  • 陈明编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:7302101868
  • 出版时间:2005
  • 标注页数:372页
  • 文件大小:16MB
  • 文件页数:386页
  • 主题词:数据结构-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页 直链下载[便捷但速度慢]   [在线试读本书]   [在线获取解压码]

下载说明

数据结构 C++版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

目录 1

第1章 绪论 1

1.1 数据结构的重要性 1

1.2 面向对象程序设计 2

1.2.1 面向对象程序设计方法 2

1.2.2 C++的特征及基本概念 3

1.3 基本术语 4

1.4 抽象数据类型 6

1.5 数据结构的概念 8

1.6 数据的逻辑结构 10

1.7 数据的存储结构 11

1.8 数据的运算 13

1.10 算法的描述 14

1.9 数据的逻辑结构、存储结构及数据的运算的关系 14

小结 15

习题 15

第2章 算法分析 16

2.1 算法分析的概念 16

2.2 算法运行时间举例 18

2.3 最大连续子序列之和问题 18

2.3.1 简单易懂的O(n3)算法 19

2.3.2 一个改进的O(n2)算法 20

2.3.3 一个线性算法 21

2.4 静态搜索问题 23

2.4.1 顺序搜索 23

2.4.2 二分搜索 24

2.4.3 插值搜索 26

2.5 检验一个算法分析 26

2.6 Big-Oh分析法的限制 27

小结 28

习题 28

第3章 线性表 30

3.1 线性表及其抽象数据类型说明 30

3.1.1 线性表及其逻辑结构 30

3.1.2 线性表的抽象数据类型描述 34

3.2 线性表的顺序存储 35

3.2.1 顺序存储 35

3.2.2 顺序表类的定义 36

3.2.3 顺序表类的实现 36

3.3 线性表的链式存储 40

3.3.1 线性链表的存储结构 40

3.3.2 线性链表类的定义 41

3.3.3 线性链表类的实现 43

3.3.4 循环链表 47

3.3.5 循环链表类的实现 48

3.3.6 双向链表 49

3.3.7 可利用空间表 51

3.3.8 表遍历器 52

3.4 线性表的顺序存储和链式存储的比较 54

3.5 链式存储结构的应用 55

3.5.1 约瑟夫问题 55

3.5.2 一元多项式求和 56

小结 60

习题 60

第4章 栈和队列 63

4.1 栈 63

4.1.1 栈的定义 63

4.1.2 栈的顺序存储结构 66

4.1.3 栈的链式存储结构 69

4.1.4 顺序栈和链式栈的比较 72

4.2 栈的应用 72

4.2.1 迷宫问题 72

4.2.2 表达式求值 75

4.2.3 汉诺塔问题 78

4.2.4 数制转换 80

4.2.5 行编辑 81

4.3 队列 82

4.3.1 队列的定义 82

4.3.2 队列的顺序存储 85

4.3.3 队列的链式存储 92

4.3.5 优先队列 96

4.3.4 顺序队列与链式队列的比较 96

4.4 队列的应用 97

4.4.1 解决设备速度不匹配问题 97

4.4.2 舞伴问题 97

4.4.3 火车车厢重排 99

小结 101

习题 101

第5章 串 105

5.1 C++语言的字符和字符串 105

5.2 串的基本概念 106

5.3 串的存储结构 107

5.3.1 串的顺序存储结构 107

5.3.2 串的链式存储结构 109

5.3.3 串的索引存储结构 110

5.4.1 常用的C++字符串函数 111

5.4 串的操作 111

5.4.2 串的抽象数据类型的描述 112

5.4.3 串的类定义 113

5.4.4 部分成员函数的实现 114

5.5 串的基本运算与实现 117

5.5.1 串插入 117

5.5.2 串删除 118

5.6 模式匹配 120

5.6.1 模式匹配的BF算法 120

5.6.2 模式匹配的KMP算法 122

5.7 串在文本编辑中的应用 126

小结 128

习题 128

6.1.1 C++中数组的定义 130

6.1 C++中数组的定义及抽象数据类型表示 130

第6章 数组和广义表 130

6.1.2 数组的抽象数据类型表示 131

6.2 数组的顺序存储结构 132

6.3 矩阵的压缩存储 133

6.3.1 特殊矩阵的压缩存储 134

6.3.2 稀疏矩阵的压缩存储 136

6.4 广义表的概念 143

6.5 广义表的存储结构表示 144

6.6 广义表的运算 146

小结 153

习题 153

第7章 树 157

7.1 树的基本概念 157

7.1.1 树的定义 157

7.1.2 树的表示形式 158

7.1.3 树的常用术语 159

7.1.4 树的基本操作 159

7.1.5 一个树的接口 160

7.1.6 树的基本算法 161

7.2 二叉树 162

7.2.1 二叉树的定义 162

7.2.2 二叉树的性质 164

7.2.3 二叉树的接口 166

7.2.4 二叉树的存储结构 167

7.2.5 二叉树的遍历 175

7.2.6 二叉树遍历的应用 178

7.3 线索二叉树 179

7.3.1 线索二叉树的类定义 179

7.3.2 中序线索二叉树 183

7.4 树、森林和二叉树的关系 186

7.4.1 树的存储结构 186

7.4.2 森林与二叉树的转换 189

7.4.3 树和森林的遍历 192

7.5 霍夫曼树及其应用 194

7.5.1 霍夫曼树的定义 194

7.5.2 霍夫曼树的构造 195

7.5.3 霍夫曼树在编码问题中的应用 198

小结 200

习题 200

第8章 图 204

8.1 图的基本概念 204

8.1.1 图的定义及基本概念 204

8.1.2 图的抽象数据类型 208

8.2 图的存储结构 209

8.2.1 邻接矩阵表示法 210

8.2.2 邻接表 215

8.2.3 十字链表 221

8.2.4 邻接多重表 223

8.3 图的遍历 225

8.3.1 深度优先搜索 225

8.3.2 广度优先搜索 227

8.3.3 欧拉回路 228

8.4 图的连通性 230

8.4.1 连通分量 230

8.4.2 重连通分量 232

8.5 生成树 233

8.5.1 普里姆算法 234

8.5.2 克鲁斯卡尔算法 237

8.6 最短路径 239

8.6.1 单源最短路径 240

8.6.2 求每一对顶点之间的最短路径 242

8.7 拓扑排序 243

8.8 关键路径 247

小结 253

习题 254

第9章 查找 258

9.1 基本概念 258

9.2 线性表的查找 259

9.2.1 顺序查找 259

9.2.2 折半查找 261

9.2.3 索引查找 263

9.2.4 分块查找 267

9.3 树表查找 269

9.3.1 二叉查找树 270

9.3.2 平衡二叉树 276

9.3.3 B树 281

9.4 哈希表的查找 283

9.4.1 哈希表 283

9.4.2 构造哈希表的基本方法 284

9.4.3 解决冲突的方法 286

9.4.4 哈希表的查找方法 289

9.5 各种查找方法的比较 290

小结 291

习题 291

第10章 排序 295

10.1 基本概念 295

10.2.1 插入排序 298

10.2 内部排序 298

10.2.2 交换排序 303

10.2.3 选择排序 307

10.2.4 归并排序 315

10.2.5 基数排序 319

10.3 内部排序方法比较 323

10.4 外部排序简介 325

小结 325

习题 326

第11章 递归 330

11.1 递归的定义 330

11.2 常见递归问题 331

11.2.1 汉诺塔问题 331

11.2.2 八皇后问题 332

11.2.3 表达式树 335

11.3 递归的实现 337

11.4 消除递归 340

11.4.1 尾递归和单向递归的消除 340

11.4.2 用栈模拟系统运行时的栈 341

11.5 递归的评估 344

小结 345

习题 346

第12章 文件 348

12.1 外存储器的介绍 348

12.2 磁盘 349

12.3 有关文件的概念 350

12.3.1 文件及其类别 351

12.3.2 文件的操作 352

12.4 文件的组织 353

12.4.1 顺序文件 354

12.4.2 索引文件 355

12.4.3 散列文件 361

12.4.4 多关键字文件 362

12.5 外部排序 365

12.5.1 外部排序的简单方法 365

12.5.2 两路归并 365

12.5.3 多路归并 368

12.6 文件的索引结构 369

12.6.1 索引向量 369

12.6.2 树形索引结构 370

小结 370

习题 370

参考文献 372

精品推荐