Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
Skip header Section
Algorithms and Data Structures: The Basic ToolboxAugust 2008
Publisher:
  • Springer Publishing Company, Incorporated
ISBN:978-3-540-77977-3
Published:06 August 2008
Pages:
300
Skip Bibliometrics Section
Reflects downloads up to 16 Oct 2024Bibliometrics
Skip Abstract Section
Abstract

Algorithms are at the heart of every nontrivial computer application, and algorithmics is a modern and active area of computer science. Every computer scientist and every professional programmer should know about the basic algorithmic toolbox: structures that allow efficient organization and retrieval of data, frequently used algorithms, and basic techniques for modeling, understanding and solving algorithmic problems. This book is a concise introduction addressed to students and professionals familiar with programming and basic mathematical language. 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, and optimization. The algorithms are presented in a modern way, with explicitly formulated invariants, and comment on recent trends such as algorithm engineering, memory hierarchies, algorithm libraries and certifying algorithms. The authors use pictures, words and high-level pseudocode to explain the algorithms, and then they present more detail on efficient implementations using real programming languages like C++ and Java. The authors have extensive experience teaching these subjects to undergraduates and graduates, and they offer a clear presentation, with examples, pictures, informal explanations, exercises, and some linkage to the real world. Most chapters have the same basic structure: a motivation for the problem, comments on the most important applications, and then simple solutions presented as informally as possible and as formally as necessary. For the more advanced issues, this approach leads to a more mathematical treatment, including some theorems and proofs. Finally, each chapter concludes with a section on further findings, providing views on the state of research, generalizations and advanced solutions.

Cited By

  1. Matkovic F, Ivasic-Kos M and Ribaric S (2023). A new approach to dominant motion pattern recognition at the macroscopic crowd level, Engineering Applications of Artificial Intelligence, 116:C, Online publication date: 1-Nov-2022.
  2. Abdulov A, Abramenkov A, Rusakov K and Shevlyakov A (2022). Problems solved during AEROBOT-2021 UAV Challenge, Procedia Computer Science, 207:C, (2077-2085), Online publication date: 1-Jan-2022.
  3. Kim S, Choi T, Kim S, Kwon T, Lee T and Lee K (2021). Sequential graph-based routing algorithm for electrical harnesses, tubes, and hoses in a commercial vehicle, Journal of Intelligent Manufacturing, 32:4, (917-933), Online publication date: 1-Apr-2021.
  4. Elimadi M, Abbas-Turki A and Koukam A Multiagent Dynamic Route Assignment: Quick and Fair Itineraries to Connected and Autonomous Vehicles 2021 IEEE International Conference on Systems, Man, and Cybernetics (SMC), (1345-1351)
  5. ACM
    Llabrés M, Rosselló F and Valiente G A Generalized Robinson-Foulds Distance for Clonal Trees, Mutation Trees, and Phylogenetic Trees and Networks Proceedings of the 11th ACM International Conference on Bioinformatics, Computational Biology and Health Informatics, (1-10)
  6. Kirchner P, Espitau T and Fouque P Fast Reduction of Algebraic Lattices over Cyclotomic Fields Advances in Cryptology – CRYPTO 2020, (155-185)
  7. Mandros P, Boley M and Vreeken J (2020). Discovering dependencies with reliable mutual information, Knowledge and Information Systems, 62:11, (4223-4253), Online publication date: 1-Nov-2020.
  8. Molina F, Degiovanni R, Ponzio P, Regis G, Aguirre N and Frias M Training binary classifiers as data structure invariants Proceedings of the 41st International Conference on Software Engineering, (759-770)
  9. ACM
    Maier T, Sanders P and Dementiev R (2019). Concurrent Hash Tables, ACM Transactions on Parallel Computing, 5:4, (1-32), Online publication date: 8-Mar-2019.
  10. Dehghani T, Naghibzadeh M and Sadri J (2019). Enhancement of Protein β-Sheet Topology Prediction Using Maximum Weight Disjoint Path Cover, IEEE/ACM Transactions on Computational Biology and Bioinformatics, 16:6, (1936-1947), Online publication date: 1-Nov-2019.
  11. Jayasumana A, Paffenroth R, Mahindre G, Ramasamy S and Gajamannage K (2019). Network Topology Mapping From Partial Virtual Coordinates and Graph Geodesics, IEEE/ACM Transactions on Networking, 27:6, (2405-2417), Online publication date: 1-Dec-2019.
  12. Radonjic A and Vujicic V (2019). Integer codes correcting sparse byte errors, Cryptography and Communications, 11:5, (1069-1077), Online publication date: 1-Sep-2019.
  13. ACM
    Buchhold V, Sanders P and Wagner D (2019). Real-time Traffic Assignment Using Engineered Customizable Contraction Hierarchies, ACM Journal of Experimental Algorithmics, 24, (1-28), Online publication date: 17-Dec-2019.
  14. ACM
    Sakketou F, Ampazis N and Drivaliaris D Generating Recommendations by Graph Traversal in Social Rating Networks Proceedings of the 10th Hellenic Conference on Artificial Intelligence, (1-7)
  15. Arz J and Fischer J (2018). Lempel---Ziv-78 Compressed String Dictionaries, Algorithmica, 80:7, (2012-2047), Online publication date: 1-Jul-2018.
  16. Welk M, Weickert J and Gilboa G (2018). A Discrete Theory and Efficient Algorithms for Forward-and-Backward Diffusion Filtering, Journal of Mathematical Imaging and Vision, 60:9, (1399-1426), Online publication date: 1-Nov-2018.
  17. ACM
    Peters R, Broekens J and Neerincx M Guidelines for Tree-based Collaborative Goal Setting Proceedings of the 22nd International Conference on Intelligent User Interfaces, (401-405)
  18. Radonjic A and Vujicic V (2017). Integer codes correcting single errors and burst asymmetric errors within a byte, Information Processing Letters, 121:C, (45-50), Online publication date: 1-May-2017.
  19. Lastra-Daz J, Garca-Serrano A, Batet M, Fernndez M and Chirigati F (2017). HESML, Information Systems, 66:C, (97-118), Online publication date: 1-Jun-2017.
  20. Popowicz A and Smolka B (2017). Fast image colourisation using the isolines concept, Multimedia Tools and Applications, 76:14, (15987-16009), Online publication date: 1-Jul-2017.
  21. Schmitt P, Neubauer W, Feiten W, Wurm K, Wichert G and Burgard W Optimal, sampling-based manipulation planning 2017 IEEE International Conference on Robotics and Automation (ICRA), (3426-3432)
  22. Bai X, Yan W, Cao M and Xue D Heterogeneous multi-vehicle task assignment in a time-invariant drift field with obstacles 2017 IEEE 56th Annual Conference on Decision and Control (CDC), (307-312)
  23. ACM
    Mandros P, Boley M and Vreeken J Discovering Reliable Approximate Functional Dependencies Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, (355-363)
  24. ACM
    Efentakis A and Pfoser D (2016). ReHub, ACM Journal of Experimental Algorithmics, 21, (1-35), Online publication date: 4-Nov-2016.
  25. Kerber M, Sheehy D and Skraba P Persistent homology and nested dissection Proceedings of the twenty-seventh annual ACM-SIAM symposium on Discrete algorithms, (1234-1245)
  26. Drezner Z, Scott C and Turner J (2016). Mixed planar and network single-facility location problems, Networks, 68:4, (271-282), Online publication date: 1-Dec-2016.
  27. Fischer J and Peters D (2016). GLOUDS, Journal of Discrete Algorithms, 36:C, (39-49), Online publication date: 1-Jan-2016.
  28. ACM
    Axtmann M, Bingmann T, Sanders P and Schulz C Practical Massively Parallel Sorting Proceedings of the 27th ACM symposium on Parallelism in Algorithms and Architectures, (13-23)
  29. Komusiewicz C, Nichterlein A and Niedermeier R Parameterized Algorithmics for Graph Modification Problems Revised Papers of the 41st International Workshop on Graph-Theoretic Concepts in Computer Science - Volume 9224, (3-15)
  30. ACM
    Furia C, Meyer B and Velder S (2014). Loop invariants, ACM Computing Surveys, 46:3, (1-51), Online publication date: 1-Jan-2014.
  31. ACM
    Sommer C (2014). Shortest-path queries in static networks, ACM Computing Surveys, 46:4, (1-31), Online publication date: 1-Apr-2014.
  32. ACM
    Batz G, Geisberger R, Sanders P and Vetter C (2013). Minimum time-dependent travel times with contraction hierarchies, ACM Journal of Experimental Algorithmics, 18, (1.1-1.43), Online publication date: 1-Dec-2013.
  33. ACM
    Efentakis A and Pfoser D Optimizing Landmark-Based Routing and Preprocessing Proceedings of the Sixth ACM SIGSPATIAL International Workshop on Computational Transportation Science, (25-30)
  34. Birn M, Osipov V, Sanders P, Schulz C and Sitchinava N Efficient parallel and external matching Proceedings of the 19th international conference on Parallel Processing, (659-670)
  35. Batz G, Geisberger R, Luxen D, Sanders P and Zubkov R Efficient route compression for hybrid route planning Proceedings of the First Mediterranean conference on Design and Analysis of Algorithms, (93-107)
  36. Mcconnell R, Mehlhorn K, Näher S and Schweitzer P (2011). Survey, Computer Science Review, 5:2, (119-161), Online publication date: 1-May-2011.
  37. Wen W, Wang Y and Zhang H Queuing system M/M/1/T with priority dropping packets mechanism based on living time Proceedings of the 2011 international conference on Web information systems and mining - Volume Part I, (441-446)
  38. Bruun A, Edelkamp S, Katajainen J and Rasmussen J Policy-based benchmarking of weak heaps and their relatives, Proceedings of the 9th international conference on Experimental Algorithms, (424-435)
  39. Kang R, Mnich M and Müller T Induced matchings in subcubic planar graphs Proceedings of the 18th annual European conference on Algorithms: Part II, (112-122)
  40. Doerr B, Johannsen D, Kötzing T, Neumann F and Theile M More effective crossover operators for the all-pairs shortest path problem Proceedings of the 11th international conference on Parallel problem solving from nature: Part I, (184-193)
  41. Minas M and Schneider H Graph transformation by computational category theory Graph transformations and model-driven engineering, (33-58)
Contributors
  • Max Planck Institute for Informatics
  • Karlsruhe Institute of Technology

Reviews

Michael G. Murphy

This text is intended for undergraduate computer science (CS) majors, and focuses on algorithm analysis. An unstated assumption is that the reader has significant mathematical competence and a solid grounding in elementary data structures. The content is concise (only 300 pages), and reads a little like a text from the 1960s or 1970s. Each chapter has a similar structure: a motivational scenario; important applications; solutions that include both simple techniques and more advanced techniques, with a relatively rigorous mathematical treatment; implementation notes primarily related to C++ and Java, including standard or well-known library packages; and historical notes and further findings. According to the publisher's site, the 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, and optimization. The coverage is fairly complete, but not everyone will find their favorite topics addressed. Also, there is a list of 208 references. Exercises are interspersed throughout the text, and tend to be somewhat challenging. Mehlhorn and Sanders write well, and the well-organized presentation reflects their experience and interest in the various topics. I would not choose to use it as an undergraduate text, but it is an excellent reference, and could possibly be used in a transition course, serving students coming to graduate CS courses from other technical fields. Finally, the book contains interesting tidbits that are not readily available elsewhere. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Recommendations