Handbook of Data Structures and Applications  book cover
2nd Edition

Handbook of Data Structures and Applications

ISBN 9781498701853
Published March 7, 2018 by Chapman and Hall/CRC
1100 Pages - 595 B/W Illustrations

SAVE ~ $44.00
was $220.00
USD $176.00

Prices & shipping based on shipping country


Book Description

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.

Table of Contents

Part 1: Introduction

1. Analysis of Algorithms (Sartaj Sahni)

2. Basic Structures (Dinesh P. Mehta)

3. Trees (Dinesh P. Mehta)

4. Graphs (Narsingh Deo)

Part 2: Priority Queues

5. Leftist Trees (Sartaj Sahni)

6. Skew Heaps (C. Pandu Rangan)

7. Binomial, Fibonacci,and Pairing Heaps (Michael L. Fredman)

8. Double-Ended Priority Queues (Sartaj Sahni)

Part 3: Dictionary Structures

9. Hash Tables (Pat Morin)

10. Bloom Filter and Its Variants (Chen and et al.)

11. Balanced Binary Search Trees (Arne Andersson, Rolf Fagerberg, Kim S. Larsen)

12. Finger Search Trees (Gerth Stølting Brodal)

13. Splay Trees (Sanjeev Saxena)

14. Randomized Dictionary Structures (C. Pandu Rangan)

15. Trees with Minimum Weighted Path Length (Wojciech Rytter)

16. B Trees (Donghui Zhang)

Part 4: Multidimensional/Spatial Structures

17. Multidimensional Spatial Data Structs (Hanan Samet)

18. Planar Straight Line Graphs (Siu-Wing Cheng)

19. Interval, Segment, Range, and Priority Search Trees (D.T. Lee, Hung-I Yu)

20 Quadtrees and Octrees (Srinivas Aluru)

21. Binary Space Partitioning Trees (Bruce F. Naylor)

22. R-trees (Scott Leutenegger, Mario A. Lopez)

23. Multidimensional and Spatial Structures (Sumeet Dua and S.S. Iyengar)

24. Kinetic Data Structures (Leonidas Guibas)

25. Online Dictionary Structures (Teofilo F. Gonzalez)

26. Cuttings (Bernard Chazelle)

27. Approximate Geometric Query Structures (Christian A. Duncan, Michael T. Goodrich)

28. Geometric and Spatial Data Structures in External Memory (Jeffrey Scott Vitter)

Part 5: Miscellaneous

29. Tries (Sartaj Sahni)

30. Suffix Trees and Suffix Arrays (Srinivas Aluru)

31. String Search (Andrezej Ehrenfeucht, Ross M. McConnell)

32. Binary Decision Diagrams (Shin-ichi Minato)

33. Persistent Data Structures (Haim Kaplan)

34. Data Structures for Sets (Rajeev Raman)

35. Cache-Oblivious Data Structures (Lars Arge, Gerth Stølting Brodal, Rolf Fagerberg)

36. Dynamic Trees (Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano)

37. Dynamic Graphs (Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano)

38. Succinct Representation of Data Structures (J. Ian Munro, S. Srinivasa Rao)

39. Randomized Graph Data-Structures for Approximate Shortest Paths (Surender Baswana, Sandeep Sen)

40.Searching and Priority Queues in o(log n) Time (Arne Andersson)

Part 6: Data Structures in Langs & Libraries

41. Functional Data Structures (Chris Okasaki)

42. LEDA, a Platform for Combinatorial and Geometric Computing (Stefan Naeher)

43. Data Structures in C++ (Mark Allen Weiss)

44. Data Structures in JDSL (Michael T. Goodrich, Roberto Tamassia, Luca Vismara)

45. Data Structure Visualization (John Stasko)

46. Drawing Trees (Sebastian Leipert)

47. Drawing Graphs (Peter Eades, Seok-Hee Hong)

48. Concurrent Data Structures (Mark Moir, Nir Shavit)

Part 7: Applications

49. IP Router Tables (Sartaj Sahni, Kun Suk Kim, Haibin Lu)

50. Multi-Dimensional Packet Classification (Pankaj Gupta)

51. Data Structures in Web Information Retrieval (Monika Henzinger)

52. The Web as a Dynamic Graph (S. N. Maheshwari)

53. Layout Data Structures (Dinesh P. Mehta)

54. Floorplan Representation in VLSI (Zhou Feng, Bo Yao, Chung-Kuan Cheng)

55. Computer Graphics (Dale McMullin, Alyn Rockwood)

56. Geographic Information Systems (Seeger, Widmayer)

57. Collision Detection (Ming C. Lin, Dinesh Manocha)

58. Image Data Structures (S.S. Iyengar, V.K. Vaishnavi, S. Gunasekaran)

59. Computational Biology (Paolo Ferragina, Stefan Kurtz, Stefano Lonarid, Giovanni Manzini)

60. Data Structures for Cheminformatics (Dinesh P. Mehta, John D. Crabtree)

61. Elimination Structures in Scientific Computing (Alex Pothen, Sivan Toledo)

62. Data Structures for Databases (Joachim Hammer, Markus Schneider)

63. Data Structures for Big Data Stores (Arun A. Ravindran and Dinesh P. Mehta)

64. Data Mining (Vipin Kumar, Pang-Ning Tan, Michael Steinbach)

65. Computational Geometry: Fundamental Structures (Mark de Berg, Bettina Speckamnn)

66. Computational Geometry: Proximity and Location (Sunil Arya, David M. Mount)

67. Computational Geometry: Generalized (or Colored) Intersection Searching (Prosenjit Gupta, Ravi Janardan, Saladi Rahul, Michiel Smid)

View More



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