注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络计算机科学理论与基础知识计算机算法:分析与设计导论

计算机算法:分析与设计导论

计算机算法:分析与设计导论

定 价:¥35.00

作 者: 朱清新,杨凡,钟黔川 等
出版社: 人民邮电出版社
丛编项: 高等院校计算机教材系列
标 签: 计算理论

购买这本书可以去


ISBN: 9787115168337 出版时间: 2007-11-01 包装: 平装
开本: 16开 页数: 277 字数:  

内容简介

  本书为高等学校计算机专业基础课程算法设计与分析教材。全书从算法设计和算法分析的基本概念和方法入手,系统介绍了算法设计方法与分析技巧。全书分为3个部分:第一部分介绍算法的基本概念、算法的数学基础以及算法复杂度分析;第二部分针对排序问题和图的问题,讨论各种已有的算法,并介绍常用的算法设计方法包括分治法、贪心法、动态规划法、回溯法和分支限界法,并介绍了计算的复杂性以及NP完全问题;第三部分讲述并行计算模型和并行算法设计技术。书中每章后面都附有一定数量的习题,帮助读者理解和掌握书中的内容。 本书适合作为计算机以及相关学科高年级本科生及研究生算法设计与分析课程的教材和参考书,同时也可作为算法研究者的参考书。

作者简介

  朱清新电子科技大学教授,博士生导师。现任电子科技大学计算机学院学术委员会主任,计算运筹学研究室主任。曾赴加拿大渥太华大学和Carletorl大学攻读博士学位,后从事博士后研究,并曾在蒙特利尔CotlCOtdia大学任高级访问学者。美国数学学会(AMS)会员、中国计算机学会(CCF)高级会员暨信息存储专业委员会委员、四川省计算机学会多媒体专业委员会主任。发表论文100多篇,出版专著3本,其中《离散和连续空间中的最优搜索理论》一书入选“华夏英才基金学术文库”。

图书目录

第1章 引论        1
1.1 算法的基本概念        1
1.2 算法的数学基础        4
1.2.1 集合论        4
1.2.2 逻辑学        6
1.2.3 概率论        7
1.2.4 求和与递归        11
1.2.5 快速估算法        16
1.3 算法的效率与复杂度        16
1.4 习题        20
1.5 参考文献        21
第2章 算法设计与分析技术        22
2.1 算法的渐近复杂度        22
2.2 算法的优化与最优算法        26
2.3 算法设计中的常用方法        32
2.3.1 分治法        32
2.3.2 回溯法        33
2.3.3 贪心法        34
2.3.4 分支限界法        35
2.3.5 动态规划        36
2.4 习题        41
2.5 参考文献        42
第3章 排序问题        43
3.1 引言        43
3.2 基于相邻元素之间的比较排序算法        44
3.2.1 插入排序法        44
3.2.2 冒泡排序法        46
3.2.3 选择排序法        49
3.3 基于分治策略的排序算法        50
3.3.1 归并排序法        51
3.3.2 快速排序法        52
3.3.3 谢尔排序法        56
3.4 堆排序        58
3.4.1 堆的性质        58
3.4.2 堆排序算法        59
3.4.3 加速堆排序        63
3.5 基于比较的排序算法复杂度下界        67
3.6 基数排序        69
3.7 习题        72
3.8 参考文献        73
第4章 图的算法        74
4.1 引言        74
4.2 图的概念        74
4.2.1 历史回顾        74
4.2.2 图的基本概念        75
4.2.3 图的表示        76
4.2.4 树与图的生成树        78
4.2.5 独立集、覆盖与控制集        80
4.3 图的搜索问题        81
4.3.1 宽度优先搜索        81
4.3.2 宽度优先树        83
4.3.3 深度优先搜索算法        84
4.3.4 深度优先搜索的性质        86
4.4 拓扑排序        89
4.5 强连通支        91
4.6 最小生成树算法        95
4.6.1 最小生成树的形成        95
4.6.2 Kruskal算法和Prim算法        98
4.7 最短路径算法        102
4.7.1 问题描述        102
4.7.2 松弛技术        103
4.7.3 Bellman-Ford算法        104
4.7.4 Dijkstra算法        107
4.8 欧拉回路与中国邮递员问题        110
4.8.1 欧拉回路        110
4.8.2 中国邮递员问题        111
4.9 网络流及其应用        113
4.9.1 网络流与最大流最小截集定理        114
4.9.2 最大流的算法        116
4.9.3 网络流的应用        117
4.10 习题        121
4.11 参考文献        122
第5章 NP完全性理论        123
5.1 引言        123
5.2 图灵机        124
5.3 判定问题、语言和编码        128
5.4 P类问题、多项式变换和可满足性问题        129
5.5 NP类问题、NP完全问题和NP困难问题        130
5.5.1 NP类        130
5.5.2 NP完全问题和NP困难问题        132
5.6 Cook定理        135
5.7 NP完全性证明        135
5.7.1 直接变换法        136
5.7.2 限制法        138
5.8 P类问题的证明        139
5.9 近似算法        141
5.9.1 装箱问题        141
5.9.2 0/1背包问题        143
5.9.3 旅行商问题        143
5.10 DNA计算        145
5.10.1 DNA背景知识        145
5.10.2 DNA计算哈密顿路径问题        145
5.11 丘奇—图灵论点的启示        148
5.12 习题        149
5.13 参考文献        150
第6章 并行计算基础        151
6.1 引言        151
6.2 并行计算机        151
6.2.1 并行计算机发展简史        151
6.2.2 并行计算机体系结构        153
6.2.3 并行计算机存储器模型        156
6.2.4 多处理机中高速缓存一致性问题        159
6.3 并行计算机通信机制        162
6.3.1 静态网络        162
6.3.2 动态网络        167
6.3.3 并行计算机的消息传递方式        170
6.3.4 互连网络的路由选择        172
6.4 并行计算模型        173
6.4.1 PRAM模型        173
6.4.2 BSP模型        175
6.4.3 LogP模型        177
6.4.4 C3模型        179
6.5 习题        179
6.6 参考文献        182
第7章 并行算法设计技术        184
7.1 引言        184
7.2 并行算法的基本概念        184
7.3 串行算法的并行化        185
7.3.1 设计方法描述        185
7.3.2 快速排序算法的并行化        185
7.4 并行算法的PCAM设计方法        188
7.5 任务分解        189
7.5.1 域分解        189
7.5.2 功能分解        192
7.5.3 分解判据        193
7.6 通信设计        193
7.6.1 局部/全局通信        194
7.6.2 结构化/非结构化通信        196
7.6.3 静态/动态通信        196
7.6.4 同步/异步通信        197
7.6.5 通信判据        197
7.7 任务组合        198
7.7.1 增加粒度        198
7.7.2 保持灵活性和减少软件工程的代价        200
7.7.3 组合判据        201
7.8 处理器映射        201
7.8.1 负载均衡算法        202
7.8.2 任务调度算法        204
7.8.3 映射判据        206
7.9 习题        207
7.10 参考文献        208
第8章 并行算法效率分析        209
8.1 引言        209
8.2 并行算法的性能指标        209
8.2.1 执行时间        209
8.2.2 效率与加速比        211
8.2.3 可扩展性        212
8.2.4 并行度        214
8.3 并行算法性能分析        214
8.3.1 Brent定理        214
8.3.2 阿姆达尔定律        215
8.3.3 古斯塔夫森定理        215
8.3.4 Sun-Ni定理        216
8.4 习题        216
8.5 参考文献        219
第9章 并行求和与排序        220
9.1 引言        220
9.2 基于不同计算模型的并行求和算法        221
9.2.1 二维网格机器(SIMD-MC2)上的同步并行求和算法        221
9.2.2 超立方机器(SIMD-CC)上的同步并行求和算法        222
9.2.3 洗牌交换网络(SIMD-SE)上的同步并行求和算法        224
9.2.4 共享存储器机器(SIMD-SM)上的并行求和算法        226
9.3 基于不同计算模型的并行排序算法        228
9.3.1 SIMD-EREW上的并行排序算法        228
9.3.2 BSP上的并行排序算法        229
9.4 基于功能划分的并行排序算法        230
9.4.1 并行双调排序算法        230
9.4.2 奇偶交换并行排序        231
9.5 并行快速排序算法        233
9.5.1 PRAM-CRCW计算模型上的快速排序算法        233
9.5.2 超立方体网络上的模拟快速排序        235
9.6 比较器网络上的并行排序        237
9.6.1 比较器网络        237
9.6.2 奇偶归并网络        237
9.6.3 双调归并网络        237
9.6.4 Batcher排序网络        238
9.7 习题        239
9.8 参考文献        241
第10章 并行数值算法        243
10.1 矩阵并行计算        243
10.1.1 并行矩阵乘法        243
10.1.2 LU分解        245
10.1.3 QR分解        247
10.1.4 矩阵求逆        251
10.2 线性方程组的解        253
10.2.1 高斯消去法        253
10.2.2 高斯—塞德尔迭代法        257
10.2.3 松弛法        259
10.3 快速傅里叶变换和离散小波变换        259
10.3.1 快速傅里叶变换        260
10.3.2 离散小波变换        262
10.4 习题        266
10.5 参考文献        268
第11章 并行计算工具与并行程序设计语言HPF简介        269
11.1 并行计算工具        269
11.1.1 概述        269
11.1.2 并行程序设计工具PVM        270
11.1.3 并行程序设计工具MPI        272
11.2 HPF并行编程        275
11.2.1 高性能FORTRAN简介        275
11.2.2 数据并行机制        276
11.2.3 数据映射        276
11.2.4 实例:高斯消去法的HPF程序        277

本目录推荐