Introduction to Parallel AlgorithmsParallel algorithms Made Easy The complexity of today's applications coupled with the widespread use of parallel computing has made the design and analysis of parallel algorithms topics of growing interest. This volume fills a need in the field for an introductory treatment of parallel algorithms-appropriate even at the undergraduate level, where no other textbooks on the subject exist. It features a systematic approach to the latest design techniques, providing analysis and implementation details for each parallel algorithm described in the book. Introduction to Parallel Algorithms covers foundations of parallel computing; parallel algorithms for trees and graphs; parallel algorithms for sorting, searching, and merging; and numerical algorithms. This remarkable book: * Presents basic concepts in clear and simple terms * Incorporates numerous examples to enhance students' understanding * Shows how to develop parallel algorithms for all classical problems in computer science, mathematics, and engineering * Employs extensive illustrations of new design techniques * Discusses parallel algorithms in the context of PRAM model * Includes end-of-chapter exercises and detailed references on parallel computing. This book enables universities to offer parallel algorithm courses at the senior undergraduate level in computer science and engineering. It is also an invaluable text/reference for graduate students, scientists, and engineers in computer science, mathematics, and engineering. |
Contents
Introduction | 8 |
Elements of Parallel Computing | 18 |
Data Structures for Parallel Computing | 59 |
Paradigms for Parallel Algorithm | 108 |
Simple Algorithms | 123 |
Tree Algorithms | 145 |
47 | 152 |
50 | 182 |
55 | 231 |
23 | 244 |
Searching and Merging | 251 |
Sorting Algorithms | 262 |
Algebraic Equations and Matrices | 277 |
Differentiation and Integration | 319 |
Differential Equations | 335 |
ANSWERS TO SELECTED EXERCISES | 352 |
Common terms and phrases
ADJ(x adjacency list adjacency matrix algorithm to find array B₁ biconnected C₁ C₂ called child chordal graph chordless cycle clique tree cliques of G complete binary tree Complexity Analysis connected components connected graph Consider contains CREW PRAM model cycle data structure defined denote Develop a parallel dominating set elements End parallel entry equation EREW Euler circuit evaluate example Figure G is chordal given graph shown Hence induced subgraph Input integer intersection graph interval graph iteration k-tree leaf nodes Let G level number linear linked list lowest common ancestor maximal cliques method minimum nbr(i number of edges number of processors number of vertices O(logn O(n² Output parallel algorithm parent path matching planar graph prefix sum problem procedure rake operation recursive represented rooted tree shown in Fig sorted spanning tree speedup step subtrees sup(i supernode THEOREM tree of G tree shown v₁ values vector verify weight