2nd Edition

Handbook of Data Structures and Applications

Edited By Dinesh P. Mehta, Sartaj Sahni Copyright 2018
    1120 Pages
    by Chapman & Hall

    1120 Pages 595 B/W Illustrations
    by Chapman & Hall

    1120 Pages 595 B/W Illustrations
    by Chapman & Hall

    The Handbook of Data Structures and Applications was first published over a decade ago. This second edition aims to update the first by focusing on areas of research in data structures that have seen significant progress. While the discipline of data structures has not matured as rapidly as other areas of computer science, the book aims to update those areas that have seen advances.





    Retaining the seven-part structure of the first edition, the handbook begins with a review of introductory material, followed by a discussion of well-known classes of data structures, Priority Queues, Dictionary Structures, and Multidimensional structures. The editors next analyze miscellaneous data structures, which are well-known structures that elude easy classification. The book then addresses mechanisms and tools that were developed to facilitate the use of data structures in real programs. It concludes with an examination of the applications of data structures.





    Four new chapters have been added on Bloom Filters, Binary Decision Diagrams, Data Structures for Cheminformatics, and Data Structures for Big Data Stores, and updates have been made to other chapters that appeared in the first edition.

    The Handbook is invaluable for suggesting new ideas for research in data structures, and for revealing application contexts in which they can be deployed. Practitioners devising algorithms will gain insight into organizing data, allowing them to solve algorithmic problems more efficiently.

    Part 1: Introduction  1. Analysis of Algorithms  2. Basic Structures  3. Trees   4. Graphs  Part 2: Priority Queues  5. Leftist Trees  6. Skew Heaps  7. Binomial, Fibonacci,and Pairing Heaps   8. Double-Ended Priority Queues  Part 3: Dictionary Structures  9. Hash Tables  10. Bloom Filter and Its Variants   11. Balanced Binary Search Trees   12. Finger Search Trees  13. Splay Trees  14. Randomized Dictionary Structures  15. Trees with Minimum Weighted Path Length   16. B Trees  Part 4: Multidimensional/Spatial Structures  17. Multidimensional Spatial Data Structs  18. Planar Straight Line Graphs   19. Interval, Segment, Range, and Priority Search Trees  20. Quadtrees and Octrees  21. Binary Space Partitioning Trees  22. R-trees  23. Multidimensional and Spatial Structures 24. Kinetic Data Structures  25. Online Dictionary Structures 26. Cuttings  27. Approximate Geometric Query Structures  28. Geometric and Spatial Data Structures in External Memory  Part 5: Miscellaneous  29. Tries  30. Suffix Trees and Suffix Arrays  31. String Search  32. Binary Decision Diagrams  33. Persistent Data Structures  34. Data Structures for Sets  35. Cache-Oblivious Data Structures  36. Dynamic Trees  37. Dynamic Graphs  38. Succinct Representation of Data Structures  39. Randomized Graph Data-Structures for Approximate Shortest Paths  40.Searching and Priority Queues in o(log n) Time  Part 6: Data Structures in Langs & Libraries  41. Functional Data Structures  42. LEDA, a Platform for Combinatorial and Geometric Computing 43. Data Structures in C++44. Data Strauctures in JDSL  45. Data Structure Visualization  46. Drawing Trees 47. Drawing Graphs 48. Concurrent Data Structures  Part 7: Applications  49. IP Router Tables  50. Multi-Dimensional Packet Classification  51. Data Structures in Web Information Retrieval  52. The Web as a Dynamic Graph  53. Layout Data Structures (Dinesh P. Mehta) 54. Floorplan Representation in VLSI  55. Computer Graphics  56. Geographic Information Systems  57. Collision Detection  58. Image Data Structures  59. Computational Biology  60. Data Structures for Cheminformatics  61. Elimination Structures in Scientific  62. Data Structures for Databases  63. Data Structures for Big Data Stores  64. Data Mining  65. Computational Geometry: Fundamental Structures  66. Computational Geometry: Proximity and Location  67. Computational Geometry: Generalized (or Colored) Intersection Searching

    Biography

    Dinesh P. Mehta has been on the faculty of the Colorado School of Mines since 2000, where he is currently professor in the Department of Computer Science. He earned degrees (all in computer science) from the Indian Institute of Technology Bombay, the University of Minnesota, and the University of Florida. Before joining Mines in 2000, he was on the faculty of the University of Tennessee Space Institute, where he received the Vice President’s Award for Teaching Excellence in 1997. He was a visiting professor at Intel’s Strategic CAD Labs for several months in 1996 and 1997 and at the Tata Research Development and Design Center (in Pune, India) in 2007. He has also received graduate teaching awards at Mines in 2007, 2008, and 2009.





    He was assistant department head from 2004 to 2008 and interim department head from 2008 to 2010 in the former Department of Mathematical and Computer Sciences and served as president of the Mines Faculty Senate in 2016–2017.





    Dr. Mehta is the coauthor of the book, Fundamentals of Data Structures in C++ and coeditor of the Handbook of Algorithms for VLSI Physical Design Automation. He serves as associate director of the ORwE (Operations Research with Engineering) PhD program at Mines and is currently an associate editor of ACM Computing Surveys. His current research interests are in cheminformatics, computational materials, and big graph analytics.





    Sartaj Sahni is a distinguished professor of computer and information sciences and engineering at the University of Florida. He is also a member of the European Academy of Sciences, a Fellow of IEEE, ACM, AAAS, and Minnesota Supercomputer Institute, and a distinguished alumnus of the Indian Institute of Technology, Kanpur. Dr. Sahni is the recipient of the 1997 IEEE Computer Society Taylor L. Booth Education Award, the 2003 IEEE Computer Society W. Wallace McDowell Award, and the 2003ACMKarl Karlstrom Outstanding Educator Award. Dr. Sahni earned his BTech (electrical engineering) degree from the Indian Institute of



    Technology, Kanpur, and MS and PhD in computer science from Cornell University. Dr. Sahni has published over 400 research papers and written 15 books. His research publications are on the design and analysis of efficient algorithms, parallel computing, interconnection networks, design automation, and medical algorithms.





    Dr. Sahni is the editor-in-chief of the ACM Computing Surveys, a managing editor of the International Journal of Foundations of Computer Science, and a member of the editorial boards of 17 other journals. He is a past coeditor-in-chief of the Journal of Parallel and Distributed Computing. He has served as program committee chair, general chair, and a keynote speaker at many conferences. Dr. Sahni has served on several NSF (National Science Foundation) and NIH (National Institutes of Health) panels and he has been involved as an external evaluator of several computer science and engineering departments.

    This handbook is a voluminous collection of 67 articles on a variety of data structures and their applications. Many articles are written by well-known experts with a focus on explaining basic ideas and surveying results. Overall, one gets an interesting overview of this central area of computer science.

    -Peter Sanders, Zentralblatt MATH