《算法I-IV C++实现 -基础、数据结构、排序和搜索 第3版》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)Robert Sedgewick著;张铭泽等译
  • 出 版 社:北京:中国电力出版社
  • 出版年份:2004
  • ISBN:7508318080
  • 页数:532 页
图书介绍:本书由Donald Knuth的学生、普林斯顿大学计算机系的著名教授Robert Sedgewick撰写,多年来一直被普林斯顿大学等众多国外高等学府作为教材使用。本书系统介绍了现今使用的最重要的计算机算法,它从基本的算法知识讲起,逐渐深入到高级主题,并通过大量习题使读者细细体会算法知识的精妙之处,从而加深对各种算法的理解。本书共有16章,分为四大部分:基本原理、数据结构、排序算法和搜索算法。目的是想让读者尽可能多地对基础算法的基本特性有一个了解。本书介绍的算法已经过多年的广泛应用,代表了程序员和计算机系学生掌握的知识主体。通过本书的学习,读者的编程水平和对程序结构的认识必将提高到一个新层次

第一部分 基本原理 3

第一章 简介 3

1.1 算法 3

1.2 示例:连通问题 5

1.3 合并-查找算法 8

1.4 前景展望 16

1.5 总结 17

第二章 算法分析原理 19

2.1 实现和经验分析 20

2.2 算法分析 22

2.3 函数的增长 24

2.4 大O符号 30

2.5 递归基础知识 33

2.6 算法分析举例 36

2.7 保证、预测和限制 40

第一部分参考资料 44

第三章 基本数据结构 47

第二部分 数据结构 47

3.1 构建组件 48

3.2 数组 56

3.3 链表 62

3.4 基本的链表处理 68

3.5 链表的内存分配 75

3.6 字符串 78

3.7 复合数据结构 82

第四章 抽象数据类型 91

4.1 抽象对象和对象集合 98

4.2 下推栈ADT 100

4.3 栈ADT客户示例 103

4.4 栈ADT的实现 108

4.5 创建一个新ADT 112

4.6 FIFO队列和广义队列 117

4.7 复制和索引项 124

4.8 一级ADT 128

4.9 基于应用的ADT范例 137

4.10 前景展望 142

第五章 递归与树 144

5.1 递归算法 145

5.2 分治法 150

5.3 动态编程 161

5.4 树 168

5.5 二叉树的数学性质 174

5.6 树遍历 177

5.7 递归二叉树算法 181

5.8 图遍历 186

5.9 前景展望 191

第二部分参考资料 192

第三部分 排序算法 195

第六章 基本排序方法 195

6.1 游戏规则 196

6.2 选择排序 200

6.3 插入排序 201

6.4 冒泡排序 203

6.5 基本排序方法的执行特性 205

6.6 Shell排序法 209

6.7 对其他类型的文件进行排序 217

6.8 索引和指针排序 221

6.9 链表排序 227

6.10 关键字索引统计 230

第七章 快速排序 233

7.1 基本算法 234

7.2 快速排序算法的性能特性 237

7.3 栈大小 240

7.4 小的子文件 243

7.5 利用三个元素的中间元素来划分 245

7.6 重复值 249

7.7 字符串和向量 251

7.8 选择 253

第八章 归并及归并排序 256

8.1 二路归并 257

8.2 抽象的合适归并算法 258

8.3 自顶向下的归并排序 260

8.4 对基本排序方法进行改进 263

8.5 自底向上的归并排序 264

8.6 执行典型的归并排序算法 268

8.7 使用链表执行归并排序 270

8.8 再次讨论递归过程 272

第九章 优先队列与堆排序 274

9.1 基本的实现方法 276

9.2 堆的数据结构 279

9.3 基于堆的算法 281

9.4 堆排序 285

9.5 优先队列抽象数据类型 293

9.6 索引元素的优先队列 297

9.7 二项式队列 300

第十章 基数排序 309

10.1 比特、字节、字 310

10.2 二进制快速排序 313

10.3 MSD基数排序 316

10.4 三路基数快速排序 322

10.5 LSD基数排序 326

10.6 基数排序的特性 328

10.7 运行时间低于线性的排序 332

第十一章 特殊用途的排序方法 335

11.1 巴彻尔奇偶归并排序 336

11.2 排序网络 340

11.3 外部排序 347

11.4 “排序-归并”的实现 351

11.5 并行“排序-归并” 356

第三部分参考资料 360

第四部分 搜索算法 365

第十二章 符号表和二叉搜索树 365

12.1 符号表抽象数据类型(ADT) 366

12.2 关键字索引检索 372

12.3 顺序搜索 374

12.4 二叉搜索 380

12.5 二叉搜索树 384

12.6 BST的性能特性 390

12.7 符号表的索引实现 393

12.8 在BST的根进行的插入 397

12.9 其他ADT函数的BST实现 400

第十三章 平衡树 408

13.1 随机化BST 411

13.2 发散BST 416

13.3 自上而下2-3-4树 421

13.4 红黑树 426

13.5 跳跃表 434

13.6 性能特性 441

第十四章 散列 444

14.1 散列函数 445

14.2 链地址法 451

14.3 线性探测 455

14.4 双重散列 459

14.5 动态散列表 463

14.6 综述 466

第十五章 基数检索 470

15.1 数字搜索树 471

15.2 线索(trie) 473

15.3 帕氏线索 480

15.4 多叉线索和TST 487

15.5 文本字符索引算法 501

第十六章 外部排序 504

16.1 游戏规则 505

16.2 索引顺序存取 506

16.3 B树 508

16.4 可扩充散列 519

16.5 综述 528

第四部分参考资料 531