没有合适的资源?快使用搜索试试~ 我知道了~
首页《算法:顺序与并行 - 统一方法》第二版简介
"《算法:顺序与并行 - 统一方法,第二版》是一本专注于算法设计与分析的专业教材。本书提供了一种全面且统一的方法来理解和处理序列(sequential)和并行(parallel)算法。作者通过该版本强调,尽管内容是英文而非影印版,但其核心目标是确保读者能够掌握算法的基本原理和技术。 在书中,作者对算法进行了深入探讨,包括但不限于排序、搜索、图论等经典问题的解决策略。读者将学习如何分析算法的时间复杂度和空间复杂度,这对于理解算法效率至关重要。对于并行算法部分,书籍介绍了如何利用多核处理器、分布式系统和GPU等现代硬件平台实现并行计算,以及如何设计能在这些平台上高效运行的算法。 值得注意的是,书中的所有代码和理论都基于作者和编者的最佳实践,但作者明确声明,由于技术的快速变化和编程环境的差异,读者在实际应用时可能会遇到性能问题或不尽如人意的结果。《算法:顺序与并行 - 统一方法,第二版》并不承诺所有程序的绝对性能,而是提供一个学习和探索的基础,用户需自行承担使用内容可能带来的风险,包括但不限于经济损失、利润减少或其他间接或伴随损害。 此外,书中提供的保修和免责声明指出,作者、出版商以及与作品制作相关的人员不对使用书中程序、源代码或文本材料导致的任何损失负责,除非是由于材料制造缺陷或工艺问题。这表明读者在阅读和实践过程中应具备一定的独立判断力,并理解到学习和实践算法的过程可能涉及一定的探索性和不确定性。 《算法:顺序与并行 - 统一方法,第二版》是一本适合计算机科学和工程专业学生,以及希望提升算法设计和并行编程能力的开发者的重要参考书籍。它不仅传授理论知识,还鼓励读者在实践中检验和优化算法,同时理解和管理潜在的风险。"
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/5078971/bg10.jpg)
xv
Preface
A
major thrust of computer science is the design, analysis, implementation, and
scientific evaluation of algorithms to solve critical problems. In addition, new
challenges are being offered in the field of computational science and engineering,
an emerging discipline that unites computer science and mathematics with disci-
plinary expertise in biology, chemistry, physics, and other applied scientific and
engineering fields. Computational science and engineering is often referred to as
the “third science,” complementing both theoretical and laboratory science. These
multidisciplinary efforts typically require efficient algorithms that run on high-
performance (typically parallel) computers in order to generate the necessary com-
puter models and simulations.
With advances in computational science and engineering, parallel computing
continues to merge into the mainstream of computing. It is therefore critical that
students and scientists understand the application and analysis of algorithmic par-
adigms to both the (traditional) sequential model of computing and to a variety of
parallel models.
Many computer science departments offer courses in “Analysis of Algo-
rithms,” “Algorithms,” “An Introduction to Algorithms,” or “Data Structures and
Their Algorithms” at the junior or senior level. In addition, a course in “Analysis
of Algorithms” is required of most graduate students pursuing a degree in com-
puter science. Throughout the 1980s, the vast majority of these course offerings
focused on algorithms for sequential (von Neumann) computers. In fact, not until
the late-1980s did courses covering an introduction to parallel algorithms begin to
appear in research-oriented departments. Furthermore, these courses in parallel
algorithms were typically presented to advanced graduate students. However, by
the early 1990s, courses in parallel computing began to emerge at the undergradu-
ate level, especially at progressive four-year colleges.
It is interesting to note that throughout much of the 1990s, traditional algo-
rithms-based courses changed very little. Gradually, such courses began to incor-
porate a component of parallel algorithms, typically one to three weeks near the
end of the semester. During the later part of the 1990s, however, it was not uncom-
mon to find algorithms courses that contained as much as 1/3 of the material
devoted to parallel algorithms.
In this book, we take a very different approach to an algorithms-based course.
Parallel computing has moved into the mainstream, with clusters of commodity-
off-the-shelf (COTS) machines dominating the list of top supercomputers in the
![](https://csdnimg.cn/release/download_crawler_static/5078971/bg11.jpg)
world (www.top500.org), and smaller versions of such machines being exploited in
many research laboratories. Therefore, the time is right to teach a fundamental
course in algorithms that covers paradigms for both sequential and parallel models.
The approach we take in this book is to integrate the presentation of sequential
and parallel algorithms. Specifically, we employ a philosophy of presenting a par-
adigm, such as divide-and-conquer, and then discussing implementation issues for
both sequential and parallel models. Due to the fact that we present design and
analysis of paradigms for sequential and parallel models, the reader might notice
that the number of paradigms we can treat within a semester is limited when com-
pared to a traditional sequential algorithms text.
This book has been used successfully at a wide variety of colleges and
universities.
Prerequisites: We assume a basic knowledge of data structures and mathemati-
cal maturity. The reader should be comfortable with notions of a stack, queue, list,
and binary tree, at a level that is typically taught in a CS2 course. The reader should
also be familiar with fundamentals of discrete mathematics and Calculus. Specifi-
cally, the reader should be comfortable with limits, summations, and integrals.
Overview of Chapters
Background material for the course is presented in Chapters 1, 2, and 3. Chapter 1
introduces the concept of asymptotic analysis. While the reader might have seen
some of this material in a course on data structures, we present this material in a
fair amount of detail. The reader who is uncomfortable with some of the funda-
mental material from a Freshman-level Calculus sequence might want to brush up
on notions such as limits, summations and integrals, and derivatives, as they natu-
rally arise in the presentation and application of asymptotic analysis. Chapter 2
focuses on fundamentals of induction and recursion. While many students have
seen this material in previous courses in computer science and/or mathematics, we
have found it important to review this material briefly and to provide the students
with a reference for performing the necessary review. In Chapter 3, we present the
Master Method, a very useful cookbook-type of system for evaluating recurrence
equations that are common in an algorithms-based setting.
Chapter 4 presents an overview of combinational circuits and sorting net-
works. This work is used to motivate the natural use of parallel models and to
demonstrate the blending of architectural and algorithmic approaches. In Chapter
5, we introduce fundamental models of computation, including the RAM (a formal
sequential architecture) and a variety of parallel models of computation. The par-
allel models introduced include the PRAM, mesh, hypercube, and the Coarse-
Grained Multicomputer, to name a few. In addition, Chapter 5 introduces
terminology such as shared-memory and distributed-memory.
xvi Preface
![](https://csdnimg.cn/release/download_crawler_static/5078971/bg12.jpg)
The focus of Chapter 6 is the important problem of matrix multiplication,
which is considered for a variety of models of computation. In Chapter 7, we
introduce the parallel prefix operation. This is a very powerful operation with a
wide variety of applications. We discuss implementations and analysis for a num-
ber of the models presented in Chapter 5 and give sample applications. In Chapter
8, we introduce pointer jumping techniques and show how some list-based algo-
rithms can be efficiently implemented in parallel.
In Chapter 9, we introduce the powerful divide-and-conquer paradigm. We
discuss applications of divide-and-conquer to problems involving data movement,
including sorting, concurrent reads/writes, and so forth. Algorithms and their
analysis are presented for a variety of models.
Chapters 10 and 11 focus on two important application areas, namely, Compu-
tational Geometry and Image Processing. In these chapters, we focus on interest-
ing problems chosen from these important domains as a way of solidifying the
approach of this book in terms of developing machine independent solution strate-
gies, which can then be tailored for specific models, as required.
Chapter 12 focuses on fundamental graph theoretic problems. Initially, we
present standard traversal techniques, including breadth-first search, depth-first
search, and pointer jumping. We then discuss fundamental problems, including
tree contraction and transitive closure. Finally, we couple these techniques with
greedy algorithms to solve problems, such as labeling the connected components
of a graph, determining a minimal spanning forest of a graph, and problems
involving shortest or minimal-weight paths in a graph.
Chapter 13 is an optional chapter concerned with some fundamental numeri-
cal problems. The focus of the chapter is on sequential algorithms for polynomial
evaluation and approximations of definite integrals.
Recommended Use
This book has been successfully deployed in both elective and required courses,
with students typically ranging from juniors (3rd-year undergraduates) to 2nd-year
graduates. A student in a course using this book need not be advanced in a mathe-
matical sense, but should have a basic, fundamental, background.
Correspondence
Please feel free to contact the authors directly with any comments or criticisms
(constructive or otherwise) of this book. Russ Miller may be reached at
miller@buffalo.edu and Laurence Boxer may be reached at boxer@niagara.edu.
In addition, a Web site for the book can be found from http://www.cse.buffalo.
edu/pub/WWW/faculty/miller/research.htm. This Web site contains information
related to the book, including pointers to education-based pages, relevant parallel
computing links, and errata.
Preface xvii
![](https://csdnimg.cn/release/download_crawler_static/5078971/bg13.jpg)
Acknowledgments
The authors would like to thank several anonymous reviewers for providing
insightful comments, which have been used to improve the presentation of this
book. We would like to thank the students at SUNY-Buffalo who used early drafts
of this book in their classes and provided valuable feedback. We would like to
thank Ken Smith, a member of the technical support staff at SUNY-Buffalo, for
providing assistance with Wintel support. We would also like to thank our families
for providing us the support necessary to complete this time-consuming project.
Russ Miller & Laurence Boxer, 2005
xviii Preface
![](https://csdnimg.cn/release/download_crawler_static/5078971/bg14.jpg)
This page intentionally left blank
剩余400页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/b5c367025e45492baa28f270f23849bc_danielhua.jpg!1)
herohua
- 粉丝: 9
- 资源: 13
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 构建Cadence PSpice仿真模型库教程
- VMware 10.0安装指南:步骤详解与网络、文件共享解决方案
- 中国互联网20周年必读:影响行业的100本经典书籍
- SQL Server 2000 Analysis Services的经典MDX查询示例
- VC6.0 MFC操作Excel教程:亲测Win7下的应用与保存技巧
- 使用Python NetworkX处理网络图
- 科技驱动:计算机控制技术的革新与应用
- MF-1型机器人硬件与robobasic编程详解
- ADC性能指标解析:超越位数、SNR和谐波
- 通用示波器改造为逻辑分析仪:0-1字符显示与电路设计
- C++实现TCP控制台客户端
- SOA架构下ESB在卷烟厂的信息整合与决策支持
- 三维人脸识别:技术进展与应用解析
- 单张人脸图像的眼镜边框自动去除方法
- C语言绘制图形:余弦曲线与正弦函数示例
- Matlab 文件操作入门:fopen、fclose、fprintf、fscanf 等函数使用详解
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)