算法:C语言实现 | PDF下载|ePub下载
类别: 计算机
作者:[美] Gayle Laakmann McDowell
出版社: 人民邮电出版社
原作名: Cracking the coding interview:150 programming questions and solutions,fifth edition
译者:李琳骁/漆犇
出版年: 2013-11
页数: 372
定价: 59.00元
装帧: 平装
ISBN: 9787115332912
出版社: 人民邮电出版社
原作名: Cracking the coding interview:150 programming questions and solutions,fifth edition
译者:李琳骁/漆犇
出版年: 2013-11
页数: 372
定价: 59.00元
装帧: 平装
ISBN: 9787115332912
内容简介 · · · · · ·
《算法:C语言实现(第1-4部分)基础知识、数据结构、排序及搜索(原书第3版)》细腻讲解计算机算法的C语言实现。全书分为四部分,共16章。包括基本算法分析原理,基本数据结构、抽象数据结构、递归和树等数据结构知识,选择排序、插入排序、冒泡排序、希尔排序、快速排序方法、归并和归并排序方法、优先队列与堆排序方法、基数排序方法以及特殊用途的排序方法,并比较了各种排序方法的性能特征,在进一步讲解符号表、树等抽象数据类型的基础上,重点讨论散列方法、基数搜索以及外部搜索方法。书中提供了用C语言描述的完整算法源程序,并且配有丰富的插图和练习,还包含大量简洁的实现将理论和实践成功地相结合,这些实现均可用在真实应用上。
《算法:C语言实现(第1-4部分)基础知识、数据结构、排序及搜索(原书第3版)》内容丰富,具有很强的实用价值,适合作为高等院校计算机及相关专业本科生算法课程的教材,也是广大研究人员的极佳参考读物。
· · · · · ·
作者简介 · · · · · ·
Robed Sedgewick拥有斯坦福大学博士学位(导师为Donald E. Knuth),昔林斯顿大学计算机科学系教授,Adobe Systems公司董事,曾是XeroxPARC的研究人员,还曾就职于美国国防部防御分析研究所以及INRIA。除本书外,他还与Philippe Flajolet合著了《算法分析导论》一书
目录 · · · · · ·
译者序
前言
第一部分 基础知识
第1章 引言 1
1.1 算法 1
1.2 典型问题—连通性 2
1.3 合并-查找算法 5
1.4 展望 12
1.5 主题概述 13
第2章 算法分析的原理 15
2.1 实现和经验分析 15
2.2 算法分析 17
2.3 函数的增长 19
2.4 大O符号 23
2.5 基本递归方程 27
2.6 算法分析示例 29
2.7 保证、预测及局限性 33
第二部分 数据结构
第3章 基本数据结构 37
3.1 构建组件 37
3.2 数组 44
3.3 链表 49
3.4 链表的基本处理操作 54
3.5 链表的内存分配 60
3.6 字符串 63
3.7 复合数据结构 66
第4章 抽象数据类型 74
4.1 抽象对象和对象集 76
4.2 下推栈ADT 78
4.3 栈ADT客户示例 79
4.4 栈ADT的实现 84
4.5 创建一个新ADT 87
4.6 FIFO队列和广义队列 90
4.7 复制和索引项 95
4.8 一级ADT 99
4.9 基于应用的ADT示例 106
4.10 展望 110
第5章 递归与树 111
5.1 递归算法 111
5.2 分治法 116
5.3 动态规划 127
5.4 树 133
5.5 树的数学性质 138
5.6 树的遍历 140
5.7 递归二叉树算法 145
5.8 图的遍历 149
5.9 综述 155
第三部分 排序
第6章 基本排序方法 157
6.1 游戏规则 158
6.2 选择排序 161
6.3 插入排序 162
6.4 冒泡排序 164
6.5 基本排序方法的性能特征 166
6.6 希尔排序 171
6.7 对其他类型的数据进行排序 177
6.8 索引和指针排序 180
6.9 链表排序 185
6.10 关键字索引统计 188
第7章 快速排序 191
7.1 基本算法 191
7.2 快速排序算法的性能特征 195
7.3 栈大小 198
7.4 小的子文件 201
7.5 三者取中划分.. 203
7.6 重复关键字 206
7.7 字符串和向量 209
7.8 选择 210
第8章 归并与归并排序 213
8.1 两路归并 213
8.2 抽象原位归并 215
8.3 自顶向下的归并排序 216
8.4 基本算法的改进 219
8.5 自底向上的归并排序 220
8.6 归并排序的性能特征 223
8.7 归并排序的链表实现 225
8.8 改进的递归过程 227
第9章 优先队列和堆排序 229
9.1 基本操作的实现 231
9.2 堆数据结构 233
9.3 基于堆的算法 235
9.4 堆排序 240
9.5 优先队列ADT 244
9.6 索引数据项的优先队列 247
9.7 二项队列 250
第10章 基数排序 258
10.1 位、字节和字 259
10.2 二进制快速排序 261
10.3 MSD基数排序 265
10.4 三路基数快速排序 271
10.5 LSD基数排序 274
10.6 基数排序的性能特征 278
10.7 亚线性时间排序 280
第11章 特殊用途的排序方法 284
11.1 Batcher奇偶归并排序 284
11.2 排序网 289
11.3 外部排序 295
11.4 排序-归并的实现 299
11.5 并行排序/归并 303
第四部分 搜索
第12章 符号表和二叉搜索树 307
12.1 符号表抽象数据类型 308
12.2 关键字索引搜索 311
12.3 顺序搜索 313
12.4 二分搜索 318
12.5 二叉搜索树 321
12.6 BST的性能特征 327
12.7 符号表的索引实现 329
12.8 在BST的根节点插入 332
12.9 其他ADT函数的BST实现 336
第13章 平衡树 343
13.1 随机化BST 345
13.2 伸展BST 350
13.3 自顶向下2-3-4树 355
13.4 红黑树 360
13.5 跳跃表 368
13.6 性能特征 374
第14章 散列 377
14.1 散列函数 377
14.2 链地址法 385
14.3 线性探测法 388
14.4 双重散列表 392
14.5 动态散列表 396
14.6 综述 399
第15章 基数搜索 402
15.1 数字搜索树 402
15.2 线索 406
15.3 帕氏线索 413
15.4 多路线索和TST 419
15.5 文本字符串索引算法 430
第16章 外部搜索 434
16.1 游戏规则 435
16.2 索引顺序访问 436
16.3 B树 438
16.4 可扩展散列 447
16.5 综述 455
· · · · · ·
前言
第一部分 基础知识
第1章 引言 1
1.1 算法 1
1.2 典型问题—连通性 2
1.3 合并-查找算法 5
1.4 展望 12
1.5 主题概述 13
第2章 算法分析的原理 15
2.1 实现和经验分析 15
2.2 算法分析 17
2.3 函数的增长 19
2.4 大O符号 23
2.5 基本递归方程 27
2.6 算法分析示例 29
2.7 保证、预测及局限性 33
第二部分 数据结构
第3章 基本数据结构 37
3.1 构建组件 37
3.2 数组 44
3.3 链表 49
3.4 链表的基本处理操作 54
3.5 链表的内存分配 60
3.6 字符串 63
3.7 复合数据结构 66
第4章 抽象数据类型 74
4.1 抽象对象和对象集 76
4.2 下推栈ADT 78
4.3 栈ADT客户示例 79
4.4 栈ADT的实现 84
4.5 创建一个新ADT 87
4.6 FIFO队列和广义队列 90
4.7 复制和索引项 95
4.8 一级ADT 99
4.9 基于应用的ADT示例 106
4.10 展望 110
第5章 递归与树 111
5.1 递归算法 111
5.2 分治法 116
5.3 动态规划 127
5.4 树 133
5.5 树的数学性质 138
5.6 树的遍历 140
5.7 递归二叉树算法 145
5.8 图的遍历 149
5.9 综述 155
第三部分 排序
第6章 基本排序方法 157
6.1 游戏规则 158
6.2 选择排序 161
6.3 插入排序 162
6.4 冒泡排序 164
6.5 基本排序方法的性能特征 166
6.6 希尔排序 171
6.7 对其他类型的数据进行排序 177
6.8 索引和指针排序 180
6.9 链表排序 185
6.10 关键字索引统计 188
第7章 快速排序 191
7.1 基本算法 191
7.2 快速排序算法的性能特征 195
7.3 栈大小 198
7.4 小的子文件 201
7.5 三者取中划分.. 203
7.6 重复关键字 206
7.7 字符串和向量 209
7.8 选择 210
第8章 归并与归并排序 213
8.1 两路归并 213
8.2 抽象原位归并 215
8.3 自顶向下的归并排序 216
8.4 基本算法的改进 219
8.5 自底向上的归并排序 220
8.6 归并排序的性能特征 223
8.7 归并排序的链表实现 225
8.8 改进的递归过程 227
第9章 优先队列和堆排序 229
9.1 基本操作的实现 231
9.2 堆数据结构 233
9.3 基于堆的算法 235
9.4 堆排序 240
9.5 优先队列ADT 244
9.6 索引数据项的优先队列 247
9.7 二项队列 250
第10章 基数排序 258
10.1 位、字节和字 259
10.2 二进制快速排序 261
10.3 MSD基数排序 265
10.4 三路基数快速排序 271
10.5 LSD基数排序 274
10.6 基数排序的性能特征 278
10.7 亚线性时间排序 280
第11章 特殊用途的排序方法 284
11.1 Batcher奇偶归并排序 284
11.2 排序网 289
11.3 外部排序 295
11.4 排序-归并的实现 299
11.5 并行排序/归并 303
第四部分 搜索
第12章 符号表和二叉搜索树 307
12.1 符号表抽象数据类型 308
12.2 关键字索引搜索 311
12.3 顺序搜索 313
12.4 二分搜索 318
12.5 二叉搜索树 321
12.6 BST的性能特征 327
12.7 符号表的索引实现 329
12.8 在BST的根节点插入 332
12.9 其他ADT函数的BST实现 336
第13章 平衡树 343
13.1 随机化BST 345
13.2 伸展BST 350
13.3 自顶向下2-3-4树 355
13.4 红黑树 360
13.5 跳跃表 368
13.6 性能特征 374
第14章 散列 377
14.1 散列函数 377
14.2 链地址法 385
14.3 线性探测法 388
14.4 双重散列表 392
14.5 动态散列表 396
14.6 综述 399
第15章 基数搜索 402
15.1 数字搜索树 402
15.2 线索 406
15.3 帕氏线索 413
15.4 多路线索和TST 419
15.5 文本字符串索引算法 430
第16章 外部搜索 434
16.1 游戏规则 435
16.2 索引顺序访问 436
16.3 B树 438
16.4 可扩展散列 447
16.5 综述 455
· · · · · ·
发表回复
要发表评论,您必须先登录。