Daniel Blandford
3:00 PM, 3305 Newell-Simon Hall
Thesis Oral
Title: Compact Data Structures with Fast Queries
Abstract:
Many applications dealing with large data structures can benefit from keeping them in compressed form. Compression has many benefits: it can allow a representation to fit in main memory rather than swapping out to disk, and it improves cache performance since it allows more data to fit into the cache. However, a data structure is only useful if it allows the application to perform fast queries (and updates) to the data.
This thesis describes compact representations of several types of data structures including variable-length arrays and dictionaries, separable graphs, ordered sets, text indices, and meshes. All of the representations support fast queries; most support fast updates as well. Several structures come with strong theoretical results, and all of the structures come with experimental results showing good compression results. (This represents an improvement over many compressed structures, which can be too complex to implement or suffer from high constant factors.) The compressed data structures are usually close to as fast as their uncompressed counterparts, and sometimes are faster due to caching effects.
These data structures are united by a common theme: the use of difference coding to represent data by its difference from other, previously known, data. For example, a compact graph structure represents the neighbors of a vertex by the difference between the neighbor label and the original vertex label. For many structures this is combined with a relabeling scheme which ensures that most of the differences encoded are small. The variable-bit-length arrays and dictionaries represent a general framework for creating compressed queryable data structures. This represents an improvement for many structures, which would otherwise need to be built ad-hoc.
Thesis Committee:
Guy Blelloch, Chair
Christos Faloutsos
Danny Sleator
Ian Munro, Waterloo