Share E-Book
Scan to open this page

Scan with your phone to open this page

Author: Dinesh P. Mehta, Sartaj Sahni (editors)

Rating No ratings yet

Although there are many advanced and specialized texts and handbooks on algorithms, until now there was no book that focused exclusively on the wide variety of data structures that have been reported in the literature. The Handbook of Data Structures and Applications responds to the needs of students, professionals, and researchers who need a mainstream reference on data structures by providing a comprehensive survey of data structures of various types. Divided into seven parts, the text 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. The Handbook is invaluable in 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.

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

AI guide
【One-Line Pitch】 A comprehensive, research-oriented reference that surveys the full landscape of data structures—from arrays and search trees to priority queues, dictionaries, multidimensional and spatial structures—and connects them to real applications. Best suited for graduate students, researchers, and practitioners who already know the basics and want a single authoritative map of the field. 【Book Arc】 - **Opening (~0%–10%)**: Reviews introductory material—arrays (including irregular and sparse matrices), binary search trees, and basic algorithm analysis—establishing shared vocabulary and the cost model (cache behavior, memory layout) used throughout. - **Early (~10%–35%)**: Covers well-known classes: balanced search trees, heaps and priority queues (pairing heaps, skew heaps, double-ended priority queues), and the amortized-analysis lens used to judge them. - **Middle (~35%–55%)**: Moves into dictionary structures—hashing, balanced trees with relaxed balance, randomized dictionaries, and splay/self-adjusting trees—where the emphasis shifts from worst-case to amortized and probabilistic guarantees. - **Late (~55%–80%)**: Treats multidimensional and spatial structures plus "miscellaneous" structures that resist easy classification, broadening the toolkit beyond one-dimensional keys. - **Ending (~80%–100%)**: Addresses mechanisms and tools for using data structures in real programs, then applications—showing where these structures earn their keep in practice. 【Key Takeaways】 - **Data structures deserve a book of their own, separate from algorithms** (Opening): the editors argue no existing handbook focused exclusively on the variety of structures reported in the literature, so this fills a genuine reference gap. - **Memory behavior is part of the analysis** (Opening): matrix-multiplication examples show loop order changing L2 cache misses by factors of 2.5–8.5, reminding readers that constant factors and locality matter, not just Big-O. - **Amortized analysis is the right lens for self-adjusting structures** (Early): splay trees and similar structures are judged by cumulative cost over operation sequences, formalized via potential functions rather than per-operation worst case. - **Priority queues come in rich families** (Early): pairing heaps, skew-pairing heaps, and double-ended priority queues (twin heaps, total/leaf correspondence) show how one abstract type spawns many engineering trade-offs in space and time. - **Balanced trees can be "relaxed" for concurrency** (Middle): relaxed red-black trees replace strict color constraints with weights, allowing updates without immediate rebalancing—useful where locking entire search paths is costly. - **Randomization removes bad inputs** (Middle): randomized dictionaries trade deterministic worst-case guarantees for expected-time bounds, so quality is judged statistically rather than by adversarial inputs. - **The book is a map for further research, not a tutorial** (throughout): each chapter points to primary literature, making it a launchpad for new ideas and application contexts. 【Reading Tips】 - **Skim Part 1 if you know the basics**: the introductory review is a refresher; spend your time on the priority-queue, dictionary, and multidimensional chapters where the handbook's distinctive value lies. - **Deep-read the amortized-analysis and relaxed-balance sections**: these are the conceptual hinges that make later chapters intelligible; the potential-function arguments are the hardest spots and reward patience. - **Use chapters as entry points, not sequences**: jump to the structure relevant to your problem (e.g., spatial structures for geometry work) and follow its references outward. - **Read the applications part last but don't skip it**: it converts abstract structures into deployment decisions and is where practitioners get the most practical return. 【Coverage Limits】 The excerpts cover the book's structure, introductory material, priority queues, balanced/randomized dictionaries, and amortized analysis, but do not detail the multidimensional, miscellaneous, tools, or applications chapters in depth; specific chapter titles beyond those shown are not confirmed.
Excerpt 1
ng into the array c. The remainder of the work is the same. void fastSquareMultiply(int [][] a, int [][] b, int [][] c, int n) { for (int i = 0; i < n; i++)...
View in text
Excerpt 2
ys the “nearest neighbor” strategy and is commonly referred to as Prim’s algorithm. In this method one starts with an arbitrary vertex s and joins it to its...
View in text
Excerpt 3
is a distinct element d in minPQ such that d ≤ c. Figure 8.28 shows a leaf correspondence heap. Efficient leaf correspondence DEPQs may be constructed easily...
View in text
Excerpt 4
one node will be present), for any node x, size(x) ≥ (1/n). Thus, we have following bounds for the ranks— r(t) ≤ 0 and r(x) ≥ − logn. © 2005 by Chapman & Hal...
View in text
Excerpt 5
ed by x.child[1], the object keys are smaller than x.key[1]. In the sub-tree referenced by x.child[2], the objects keys are between x.key[1] and x.key[2], an...
View in text
Excerpt 6
struction of Range Trees • Examples and Its Applications 18.5 Priority Search Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-17 D. T. L...
View in text
Excerpt 7
ing. Technical report, IBM, Ottawa, Canada, 1966. [23] J. A. Orenstein and T. H. Merrett. A class of data structures for associative searching. In Proceeding...
View in text
Excerpt 8
e gains in access time on this data over sequential search. Temporal databases, on the other hand, store time-variant data. Traditional spatial data structur...
View in text
Tags
AI categories
ProgrammingComputer Science
ISBN: 1584884355
Publisher: Chapman & Hall/CRC
Publish Year: 2004
Language: English
Pages: 1392
File Format: PDF
File Size: 10.8 MB
Text Preview (First 20 pages)
Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Generating text preview…