Skip to main content
  • Textbook
  • © 2019

Sequential and Parallel Algorithms and Data Structures

The Basic Toolbox

  • Every computer scientist and every professional programmer should know about the basic algorithmic toolbox
  • Authors address the paradigm shift towards the parallel algorithms required to solve modern performance-critical applications
  • Addressed to students and professionals familiar with programming and basic mathematical language
  • Includes many examples, pictures, informal explanations, exercises, and implementation notes with efficient implementations in languages such as C++ and Java
  • Authors have extensive experience teaching these subjects to undergraduate and graduate students

Buy it now

Buying options

eBook USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 49.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book USD 49.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access

This is a preview of subscription content, log in via an institution to check for access.

Table of contents (14 chapters)

  1. Front Matter

    Pages i-xv
  2. Appetizer: Integer Arithmetic

    • Peter Sanders, Kurt Mehlhorn, Martin Dietzfelbinger, Roman Dementiev
    Pages 1-24
  3. Introduction

    • Peter Sanders, Kurt Mehlhorn, Martin Dietzfelbinger, Roman Dementiev
    Pages 25-80
  4. Representing Sequences by Arrays and Linked Lists

    • Peter Sanders, Kurt Mehlhorn, Martin Dietzfelbinger, Roman Dementiev
    Pages 81-116
  5. Hash Tables and Associative Arrays

    • Peter Sanders, Kurt Mehlhorn, Martin Dietzfelbinger, Roman Dementiev
    Pages 117-151
  6. Sorting and Selection

    • Peter Sanders, Kurt Mehlhorn, Martin Dietzfelbinger, Roman Dementiev
    Pages 153-210
  7. Priority Queues

    • Peter Sanders, Kurt Mehlhorn, Martin Dietzfelbinger, Roman Dementiev
    Pages 211-231
  8. Sorted Sequences

    • Peter Sanders, Kurt Mehlhorn, Martin Dietzfelbinger, Roman Dementiev
    Pages 233-258
  9. Graph Representation

    • Peter Sanders, Kurt Mehlhorn, Martin Dietzfelbinger, Roman Dementiev
    Pages 259-269
  10. Graph Traversal

    • Peter Sanders, Kurt Mehlhorn, Martin Dietzfelbinger, Roman Dementiev
    Pages 271-299
  11. Shortest Paths

    • Peter Sanders, Kurt Mehlhorn, Martin Dietzfelbinger, Roman Dementiev
    Pages 301-332
  12. Minimum Spanning Trees

    • Peter Sanders, Kurt Mehlhorn, Martin Dietzfelbinger, Roman Dementiev
    Pages 333-355
  13. Generic Approaches to Optimization

    • Peter Sanders, Kurt Mehlhorn, Martin Dietzfelbinger, Roman Dementiev
    Pages 357-392
  14. Collective Communication and Computation

    • Peter Sanders, Kurt Mehlhorn, Martin Dietzfelbinger, Roman Dementiev
    Pages 393-418
  15. Load Balancing

    • Peter Sanders, Kurt Mehlhorn, Martin Dietzfelbinger, Roman Dementiev
    Pages 419-434
  16. Back Matter

    Pages 435-509

About this book

This textbook is a concise introduction to the basic toolbox of structures that allow efficient organization and retrieval of data, key algorithms for problems on graphs, and generic techniques for modeling, understanding, and solving algorithmic problems. The authors aim for a balance between simplicity and efficiency, between theory and practice, and between classical results and the forefront of research. Individual chapters cover arrays and linked lists, hash tables and associative arrays, sorting and selection, priority queues, sorted sequences, graph representation, graph traversal, shortest paths, minimum spanning trees, optimization, collective communication and computation, and load balancing. The authors also discuss important issues such as algorithm engineering, memory hierarchies, algorithm libraries, and certifying algorithms. Moving beyond the sequential algorithms and data structures of the earlier related title, this book takes into account the paradigm shift towards the parallel processing required to solve modern performance-critical applications and how this impacts on the teaching of algorithms. 

The book is suitable for undergraduate and graduate students and professionals familiar with programming and basic mathematical language. Most chapters have the same basic structure: the authors discuss a problem as it occurs in a real-life situation, they illustrate the most important applications, and then they introduce simple solutions as informally as possible and as formally as necessary so the reader really understands the issues at hand. As they move to more advanced and optional issues, their approach gradually leads to a more mathematical treatment, including theorems and proofs. The book includes many examples, pictures, informal explanations, and exercises, and the implementation notes introduce clean, efficient implementations in languages such as C++ and Java.

Reviews

“The style of the book is accessible and is suitable for a wide range of audiences, from mathematicians and computer scientists to researchers from other fields who would like to use parallelised approaches in their research.” (Irina Ioana Mohorianu, zbMATH 1445.68003, 2020)

Authors and Affiliations

  • Karlsruhe Institute of Technology, Karlsruhe, Germany

    Peter Sanders

  • Max Planck Institute for Informatics, Saarbrücken, Germany

    Kurt Mehlhorn

  • Technische Universität Ilmenau, Ilmenau, Germany

    Martin Dietzfelbinger

  • Intel Deutschland GmbH, Feldkirchen, Germany

    Roman Dementiev

About the authors

Peter Sanders is a professor of computer science at the Karlsruhe Institute of Technology. He is a leading researcher in the area of theoretical and experimental algorithm analysis, in particular related to efficient algorithms for parallel processing and communication in networks. He won the Gottfried Wilhelm Leibniz Prize of the German Research Foundation in 2012.

Kurt Mehlhorn has been a professor of computer science at Saarland University since 1975, and a director of the Max Planck Institute for Informatics in Saarbrücken. He was appointed a Fellow of the ACM (1999) "for important contributions in complexity theory and in the design, analysis, and practice of combinatorial and geometric algorithms." He has coauthored over 250 refereed conference papers and journal articles, in collaboration with 200 researchers. He received the Gottfried Wilhelm Leibniz Prize of the German Research Foundation in 1987 and the Konrad Zuse Medal of the German Society for Informatics in 1995.

Martin Dietzfelbinger is a professor of computer science at the Ilmenau University of Technology. His research interests include complexity theory and algorithms, in particular the design and analysis of randomized data structures and algorithms, hash functions, applications of hashing, sorting, algorithm engineering, and the complexity of parallel and distributed computation.

Roman Dementiev is a senior staff application engineer in the Intel Architecture, Graphics and Software group. He holds a Ph.D. in computer science from Saarland University. His interests include parallel algorithms, compute accelerators and processor architectures, hardware transactional memory, hardware performance and power monitoring, memory hierarchies, software libraries, and scalable software architectures.

The authors have considerable experience teaching on the topic of algorithms and working on related industrial projects.


Bibliographic Information

Buy it now

Buying options

eBook USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 49.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book USD 49.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access