LEADER 05361nam 22006735 450 001 9910349284603321 005 20200704152438.0 010 $a3-030-25209-4 024 7 $a10.1007/978-3-030-25209-0 035 $a(CKB)4100000009160335 035 $a(DE-He213)978-3-030-25209-0 035 $a(MiAaPQ)EBC5922874 035 $a(PPN)260303143 035 $a(EXLCZ)994100000009160335 100 $a20190831d2019 u| 0 101 0 $aeng 135 $aurnn#008mamaa 181 $ctxt$2rdacontent 182 $cc$2rdamedia 183 $acr$2rdacarrier 200 10$aSequential and Parallel Algorithms and Data Structures $eThe Basic Toolbox /$fby Peter Sanders, Kurt Mehlhorn, Martin Dietzfelbinger, Roman Dementiev 205 $a1st ed. 2019. 210 1$aCham :$cSpringer International Publishing :$cImprint: Springer,$d2019. 215 $a1 online resource (XV, 509 p.) 311 $a3-030-25208-6 327 $aAppetizer: Integer Arithmetic -- Introduction -- Representing Sequences by 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 -- Generic Approaches to Optimization -- Collective Communication and Computation -- Load Balancing -- App. A, Mathematical Background -- App. B, Computer Architecture Aspects -- App. C, Support for Parallelism in C++ -- App. D, The Message Passing Interface (MPI) -- App. E, List of Commercial Products, Trademarks and Licenses. 330 $aThis 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. 606 $aAlgorithms 606 $aMicroprocessors 606 $aData structures (Computer science) 606 $aEngineering?Data processing 606 $aAlgorithm Analysis and Problem Complexity$3https://scigraph.springernature.com/ontologies/product-market-codes/I16021 606 $aProcessor Architectures$3https://scigraph.springernature.com/ontologies/product-market-codes/I13014 606 $aData Structures and Information Theory$3https://scigraph.springernature.com/ontologies/product-market-codes/I15009 606 $aAlgorithms$3https://scigraph.springernature.com/ontologies/product-market-codes/M14018 606 $aData Engineering$3https://scigraph.springernature.com/ontologies/product-market-codes/T11040 606 $aMathematics of Algorithmic Complexity$3https://scigraph.springernature.com/ontologies/product-market-codes/M13130 615 0$aAlgorithms. 615 0$aMicroprocessors. 615 0$aData structures (Computer science) 615 0$aEngineering?Data processing. 615 14$aAlgorithm Analysis and Problem Complexity. 615 24$aProcessor Architectures. 615 24$aData Structures and Information Theory. 615 24$aAlgorithms. 615 24$aData Engineering. 615 24$aMathematics of Algorithmic Complexity. 676 $a518.1 700 $aSanders$b Peter$4aut$4http://id.loc.gov/vocabulary/relators/aut$0244577 702 $aMehlhorn$b Kurt$4aut$4http://id.loc.gov/vocabulary/relators/aut 702 $aDietzfelbinger$b Martin$4aut$4http://id.loc.gov/vocabulary/relators/aut 702 $aDementiev$b Roman$4aut$4http://id.loc.gov/vocabulary/relators/aut 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a9910349284603321 996 $aSequential and Parallel Algorithms and Data Structures$92532660 997 $aUNINA