Compact Data Structures. A Practical Approach by Gonzalo Navarro

By Gonzalo Navarro

Compact information constructions support characterize information in lowered house whereas permitting it to be queried, navigated, and operated in compressed shape. they're crucial instruments for successfully dealing with titanic quantities of knowledge through exploiting the reminiscence hierarchy. additionally they lessen the assets wanted in dispensed deployments and make higher use of the constrained reminiscence in low-end units. the sphere has constructed quickly, attaining a degree of adulthood that permits practitioners and researchers in software components to learn from using compact information constructions. this primary entire publication at the subject specializes in the buildings which are so much appropriate for sensible use. Readers will find out how the constructions paintings, the best way to opt for the best ones for his or her software situation, and the way to enforce them. Researchers and scholars within the quarter will locate within the ebook a definitive advisor to the state-of-the-art in compact info constructions.

Show description

Read Online or Download Compact Data Structures. A Practical Approach PDF

Similar data modeling & design books

Designing Database Applications with Objects and Rules: The Idea Methodology

Is helping you grasp the newest advances in sleek database know-how with notion, a state of the art method for constructing, holding, and making use of database platforms. comprises case reviews and examples.


Ziel dieser Arbeit ist die Entwicklung und Darstellung eines umfassenden Konzeptes zur optimalen Gestaltung von Informationen. Ausgangspunkt ist die steigende Diskrepanz zwischen der biologisch begrenzten Kapazität der menschlichen Informationsverarbeitung und einem ständig steigenden Informationsangebot.

Physically-Based Modeling for Computer Graphics. A Structured Approach

Physically-Based Modeling for special effects: A established technique addresses the problem of designing and handling the complexity of physically-based versions. This ebook could be of curiosity to researchers, special effects practitioners, mathematicians, engineers, animators, software program builders and people attracted to desktop implementation and simulation of mathematical versions.

Practical Parallel Programming

This can be the publication that may educate programmers to jot down swifter, extra effective code for parallel processors. The reader is brought to an unlimited array of methods and paradigms on which genuine coding could be established. Examples and real-life simulations utilizing those units are offered in C and FORTRAN.

Additional info for Compact Data Structures. A Practical Approach

Sample text

Variable-length codes. Apart from the classical codes, covered in books, VByte was proposed by Williams and Zobel (1999), Simple by Anh and Moffat (2005), and PforDelta by Zukowski et al. (2006). Others we have not mentioned are Zeta codes (Boldi and Vigna, 2005), VSEncoding (Silvestri and Venturini, 2010), and QMX (Trotman, 2014). Inverted indexes. The book by Witten et al. (1999) focuses on the application of codes for inverted indexes on text databases. More recent books that cover this topic are by Büttcher et al.

Array W partitions those bits into new chunks of w = 32 bits. Finally, W can be seen as an array of n/w = 2 numbers. The shaded blocks illustrate operations read(A, 7) and read(A, 9). 1: Reading and writing on bit arrays. 1 2 3 4 5 6 7 8 9 10 11 Proc bitread(B, j) Input : Bit array B[1, n] (seen as the integer array W [1, n/w ]) and the position j to read. Output: Returns B[ j]. r ← (( j − 1) mod w) + 1 return W [ j/w ]/2w−r mod 2 Proc bitset(B, j) Input : Bit array B[1, n] (seen as the integer array W [1, n/w ]), and the position j to set.

This can be practical (and we will use it) when U is small and we have to encode many such elements, but otherwise we need to consider codes that are easier to handle. 3 We can encode the |T4 | = 5 trees of T4 with codes of length log(|T4 |) = 3, for example, {000, 001, 010, 011, 100}. 2 we used 2n = 8. We showed that Hwc (Tn ) = 2n − (log n), so for large trees, using 2n bits comes close to optimal (or, in technical terms, using 2n bits is asymptotically optimal). For small trees of n = 4 nodes, the (log n) factor is still significant.

Download PDF sample

Rated 4.96 of 5 – based on 26 votes