Proving tree algorithms for succinct data structures

04/04/2019
by   Reynald Affeldt, et al.
0

Succinct data structures give space-efficient representations of large amounts of data without sacrificing performance. They rely one cleverly designed data representations and algorithms. We present here the formalization in Coq/SSReflect of two different tree-based succinct representations and their accompanying algorithms. One is the Level-Order Unary Degree Sequence, which encodes the structure of a tree in breadth-first order as a sequence of bits, where access operations can be defined in terms of Rank and Select, which work in constant time for static bit sequences. The other represents dynamic bit sequences as binary balanced trees, where Rank and Select present a low logarithmic overhead compared to their static versions, and with efficient insertion and deletion. The two can be stacked to provide a dynamic representation of dictionaries for instance. While both representations are well-known, we believe this to be their first formalization and a needed step towards provably-safe implementations of big data.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/02/2022

Engineering Compact Data Structures for Rank and Select Queries on Bit Vectors

Bit vectors are fundamental building blocks of many succinct data struct...
research
11/01/2017

Fast Dynamic Arrays

We present a highly optimized implementation of tiered vectors, a data s...
research
11/20/2019

Grammar Compressed Sequences with Rank/Select Support

Sequence representations supporting not only direct access to their symb...
research
09/27/2020

Rank/Select Queries over Mutable Bitmaps

The problem of answering rank/select queries over a bitmap is of utmost ...
research
02/17/2020

Sorting and Ranking of Self-Delimiting Numbers with Applications to Tree Isomorphism

Assume that an N-bit sequence S of k self-delimiting numbers is given as...
research
04/28/2019

Compact Fenwick trees for dynamic ranking and selection

The Fenwick tree is a classical implicit data structure that stores an a...
research
02/20/2020

Compressed Data Structures for Binary Relations in Practice

Binary relations are commonly used in Computer Science for modeling data...

Please sign up or login with your details

Forgot password? Click here to reset