图书介绍

数据结构与算法 C++版PDF|Epub|txt|kindle电子书版本网盘下载

数据结构与算法 C++版
  • (美)Adam Drozdek著;陈曙晖译 著
  • 出版社: 北京:清华大学出版社
  • ISBN:7302063966
  • 出版时间:2003
  • 标注页数:550页
  • 文件大小:46MB
  • 文件页数:563页
  • 主题词:C语言-程序设计-教材;数据结构-教材;电子计算机-计算方法-教材

PDF下载


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

下载说明

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

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

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

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

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

图书目录

第1章 C++面向对象程序设计1

1.1 抽象数据类型1

1.2 封装1

1.3 继承5

1.4 指针8

1.4.1 指针和数组10

1.4.2 指针和复制构造函数12

1.4.3 指针和析构函数15

1.4.4 指针和引用变量15

1.4.5 函数指针17

1.5 多态性18

1.6 C++和面向对象程序20

1.7 标准模板库21

1.7.1 容器21

1.7.2 迭代器22

1.7.3 算法22

1.7.4 函数对象23

1.8 标准模板库中的向量25

1.9 数据结构与面向对象编程32

1.10 实例分析:随机访问文件32

1.11 习题43

1.12 程序设计作业45

第2章 复杂度分析48

2.1 计算复杂度和渐进复杂度48

2.2 大O符号49

2.3 大O符号的性质51

2.4 Ω符号与Θ符号52

2.5 可能的问题53

2.6 复杂度举例54

2.7 寻找渐近复杂度举例55

2.8 最好、平均和最坏情况57

2.9 阻尼复杂度59

2.10 习题63

第3章 链表67

3.1 单链表67

3.1.1 插入72

3.1.2 删除74

3.1.3 查找79

3.2 双链表80

3.3 循环链表84

3.4 跳跃链表86

3.5 自组织链表90

3.6 稀疏表94

3.7 标准模板库中的链表97

3.8 标准模板库中的双端队列101

3.9 总结评价105

3.10 实例分析:图书馆106

3.11 习题115

3.12 程序设计作业117

4.1 栈121

第4章 栈与队列121

4.2 队列128

4.3 优先队列135

4.4 标准模板库中的栈136

4.5 标准模板库中的队列136

4.6 标准模板库中的优先队列137

4.7 实例分析:迷宫问题140

4.8 习题145

4.9 程序设计作业147

第5章 递归150

5.1 递归定义150

5.2 函数调用与递归实现152

5.3 递归调用的剖析154

5.4 尾部递归157

5.5 非尾部递归158

5.6 间接递归163

5.7 嵌套递归165

5.8 不合理递归166

5.9 回溯169

5.10 结束总结175

5.11 实例分析:递归下降解释器176

5.12 习题183

5.13 程序设计作业186

第6章 二叉树190

6.1 树、二叉树和二叉搜索树190

6.2 二叉树的实现193

6.3 搜索一棵二叉搜索树196

6.4 树的遍历198

6.4.1 广度优先遍历199

6.4.2 深度优先遍历200

6.4.3 不用栈实现的深度优先遍历206

6.5 插入212

6.6 删除215

6.6.1 通过合并进行删除216

6.6.2 通过复制进行删除219

6.7 平衡树221

6.7.1 DSW算法223

6.7.2 AVL树226

6.8.1 自重新构造树231

6.8 自调整树231

6.8.2 “倾斜(splaying)”策略233

6.9 堆237

6.9.1 将堆作为优先队列238

6.9.2 将数组组织为堆241

6.10 波兰式表示和表达式树244

6.11 实例分析:计算单词频率249

6.12 习题256

6.13 程序设计作业259

第7章 多叉树265

7.1 B-树家族265

7.1.1 B树267

7.1.2 B?-树274

7.1.3 B+树276

7.1.4 前缀B+树278

7.1.5 位树280

7.1.6 R树281

7.1.7 2-4树283

7.1.8 在标准模板库中的集和多集289

7.1.9 在标准模板库中的映射和多映射293

7.2 trie298

7.3 结束总结305

7.4 实例分析:拼写检查器305

7.5 习题314

7.6 程序设计作业315

第8章 图320

8.1 图的表示法321

8.2 图的遍历323

8.3 最短路径325

8.4 环的检测333

8.5 生成树336

8.5.1 勃赫如夫加算法337

8.5.2 克鲁斯卡尔算法338

8.5.3 普里姆算法338

8.5.4 迪杰斯特拉方法340

8.6 连通性340

8.6.1 无向图中的连通性340

8.6.2 有向图中的连通性343

8.7 拓扑排序344

8.8 网络346

8.8.1 最大流346

8.8.2 最小代价的最大流354

8.9 匹配358

8.9.1 分配问题363

8.9.2 非二分图中的匹配365

8.10 欧拉(Eulerian)图与汉密尔顿(Hamiltonian)图367

8.10.1 Eulerian图367

8.10.2 Hamiltonian图368

8.11 实例分析:惟一代表(Distinct Representatives)370

8.12 习题380

8.13 程序设计作业383

第9章 排序387

9.1 基本的排序算法388

9.1.1 插入排序388

9.1.2 选择排序391

9.1.3 冒泡排序392

9.2 决策树394

9.3 高效排序算法397

9.3.1 希尔排序397

9.3.2 堆排序400

9.3.3 快速排序403

9.3.4 归并排序408

9.3.5 基数排序410

9.4 标准模板库中的排序415

9.5 小结419

9.6 实例分析:多项式相加420

9.7 习题426

9.8 程序设计作业428

第10章 散列432

10.1 散列函数432

10.1.1 除余法433

10.1.2 折叠法433

10.1.3 平方取中法433

10.1.4 提取法434

10.1.5 基数转换法434

10.2 冲突解决方法434

10.2.1 开放定址法435

10.2.2 拉链法440

10.2.3 桶定址443

10.3 删除444

10.4 理想散列函数444

10.4.1 Cichelli方法445

10.4.2 FHCD算法448

10.5 可扩展文件的散列函数450

10.5.1 可扩展散列450

10.5.2 线性散列452

10.6 实例分析:使用桶的散列455

10.7 习题463

10.8 程序设计作业464

11.1 数据压缩的条件467

第11章 数据压缩467

11.2 Huffman编码469

11.3 Shannon-Fano编码480

11.4 Run-Length编码方式481

11.5 Ziv-Lempel编码方式482

11.6 实例分析:Huffman方法和Run-Length编码方式485

11.7 习题495

11.8 程序设计作业495

第12章 内存管理499

12.1 sequential-fit方法500

12.2 Nonsequential-fit方法501

12.3 无用单元回收508

12.3.1 标记和清除509

12.3.2 复制方法515

12.3.3 递增的无用单元回收516

12.4 结束总结523

12.5 实例分析523

12.6 习题531

12.7 程序设计532

附录A 计算大O537

A.1 调和数序列n537

A.2 函数lg(N!)的近似值537

A.3 快速排序中平均情况的大O539

A.4 随机二进制树中的平均路径长度540

附录B 标准模板库中的算法542

热门推荐