2017年CMU课程:并行与顺序算法设计

需积分: 12 6 下载量 33 浏览量 更新于2024-07-19 收藏 3.25MB PDF 举报
《算法设计:并行与顺序》是CMU(卡内基梅隆大学)计算机科学课程15210《并行与顺序数据结构与算法》的一本教材,由Umut A. Acar和Guy E. Blelloch合著,于2017年9月发布。该书专为理解和设计高效的并发算法提供理论基础和实践指导,将并行计算的概念、工作量与时间跨度、问题表述与实现以及数学基础知识贯穿始终。 第一章"Introduction and Preliminaries" 引导读者进入并行算法的世界,介绍了并行性概念,包括如何在多处理器系统中利用并行处理来加速计算。工作量(work)和时间跨度(span)是衡量算法效率的重要指标,前者指执行算法所需的基本操作数量,后者则是这些操作在最坏情况下的完成时间。此外,章节还讨论了如何明确问题描述、算法设计与实际实施的关系,并列举了一些典型问题作为学习示例。 第二章"Mathematical Preliminaries" 针对算法设计中的数学基础进行了详尽讲解。这部分涵盖了集合论、关系和函数的概念,强调了它们在数据结构和算法分析中的应用。作者深入探讨了图论,包括基本定义如顶点、边、子图、连通性和连通分量等,以及更复杂的主题如加权图和图划分。此外,树结构的特性和表示也在此部分介绍,这些都是算法设计中的基石。 第三章"SPARC: A Strict Language for Parallel Computing" 可能介绍了一种专门用于并行编程的语言或编程模型SPARC,它可能提供了严格的并行计算规则和语法,帮助学生理解如何编写可扩展和高效的并行程序。这部分内容可能涉及并发控制、同步机制、任务调度和数据分布等方面。 第四章的内容没有在提供的摘录中给出,但可以推测会继续探讨其他重要的并行算法设计技术、数据结构的并行实现、并行算法分析方法,或者介绍更具体的并行算法实例,如排序、搜索、图算法的并行版本等。 整个书籍旨在通过理论与实践相结合的方式,帮助读者掌握并行和顺序算法的设计技巧,为在计算机科学领域进行高效并行编程打下坚实基础。无论是对于专业研究人员还是研究生,或是对并行计算感兴趣的工程师,这都是一本不可或缺的学习资料。