# Succinct Data Structures for Retrieval and Approximate Membership

@inproceedings{Dietzfelbinger2008SuccinctDS,
title={Succinct Data Structures for Retrieval and Approximate Membership},
author={Martin Dietzfelbinger and R. Pagh},
booktitle={ICALP},
year={2008}
}
• Published in ICALP 26 March 2008
• Computer Science
The retrieval problemis the problem of associatingdata with keys in a set. Formally, the data structure must store afunction $f\colon U\to \{0,1\}^r$ that has specified values on theelements of a given set S⊆ U, |S|= n, but may have any value on elements outsideS. All known methods (e. g. those based on perfect hashfunctions), induce a space overhead of θ(n)bits over the optimum, regardless of the evaluation time. We showthat for any k, query time O(k) can beachieved using space that is within…
Fast Succinct Retrieval and Approximate Membership using Ribbon
• Computer Science
ArXiv
• 2021
B bumped ribbon retrieval (BuRR) is presented, the first practical succinct retrieval data structure, which achieves space overheads well below 1 % while being faster than most previously used retrieval data structures (typically with spaceOverheads at least an order of magnitude larger) and faster than classical Bloom filters (with space overhead ≥ 44 %).
Conjunctive Filter: Breaking the Entropy Barrier
• Computer Science
ALENEX
• 2010
The objective is to break this entropy bound and construct more space-efficient data structures and show that many problems can be solved by using a conjunctive filter such as full-text search and database join queries.
A Space Lower Bound for Dynamic Approximate Membership Data Structures
• Computer Science
SIAM J. Comput.
• 2013
An approximate membership data structure is a randomized data structure representing a set which supports membership queries. It allows for a small false positive error rate but has no false negative
An Optimal Bloom Filter Replacement Based on Matrix Solving
This work suggests a method for holding a dictionary data structure, which maps keys to values, in the spirit of Bloom Filters, and suggests a data structure that requires only nk bits space, has O (n) preprocessing time, and has a O (logn ) query time.
A Lower Bound for Dynamic Approximate Membership Data Structures
• Computer Science
2010 IEEE 51st Annual Symposium on Foundations of Computer Science
• 2010
A new lower bound for the memory requirements of any dynamic approximate membership data structure is shown, which shows that the entropy lower bound cannot be achieved by dynamic data structures for any constant error rate.
Constant-Time Retrieval with O(log m) Extra Bits
• Computer Science
STACS
• 2019
This paper presents a method for treating the retrieval problem with overhead ε = O((logm)/m), which corresponds to O(1) extra memory words (O(logm) bits), and an extremely simple, constant-time query operation.
Random hypergraphs for hashing-based data structures
This thesis examines how hyperedge distribution and load affects the probabilities with which these properties hold and derive corresponding thresholds, and identifies a hashing scheme that leads to a particularly high threshold value in this regard.
Experimental Variations of a Theoretically Good Retrieval Data Structure
• Computer Science
ESA
• 2009
The practicability of one such theoretically very good proposal that has linear construction time, constant evaluation time and space consumption O(nr) bits is explored, bridging a gap between theory and real data structures.
Tight Bounds for Sliding Bloom Filters
• Computer Science
Algorithmica
• 2015
This work considers a Sliding Bloom Filter: a data structure that, given a stream of elements, supports membership queries of the set of the last n elements (a sliding window), while allowing a small error probability and a slackness parameter.
How to Approximate a Set without Knowing Its Size in Advance
• Computer Science
2013 IEEE 54th Annual Symposium on Foundations of Computer Science
• 2013
A data structure that uses (1+o(1)n log(1/ε)+O(n log log n) bits of space for approximating any set of any size n, without having to know n in advance is presented.

## References

SHOWING 1-10 OF 57 REFERENCES
An Optimal Bloom Filter Replacement Based on Matrix Solving
This work suggests a method for holding a dictionary data structure, which maps keys to values, in the spirit of Bloom Filters, and suggests a data structure that requires only nk bits space, has O (n) preprocessing time, and has a O (logn ) query time.
Static Dictionaries Supporting Rank
• Computer Science
ISAAC
• 1999
A static dictionary is a data structure for storing a subset S of a finite universe U so that membership queries can be answered efficiently and the rank of an element if found is found if found.
Efficient Minimal Perfect Hashing in Nearly Minimal Space
• Computer Science, Mathematics
STACS
• 2001
A simple randomized scheme that uses n log e+log log u+o(n+loglog u) bits and has constant evaluation time and O(n + log log u) expected construction time is presented.
On dynamic range reporting in one dimension
• Computer Science, Mathematics
STOC '05
• 2005
This work considers the problem of maintaining a dynamic set of integers and answering queries of the form: report a point (equivalently, all points) in a given interval and develops the first scheme for dynamic perfect hashing requiring sublinear space.
The Bloomier filter: an efficient data structure for static support lookup tables
• Computer Science
SODA '04
• 2004
The Bloomier filter is introduced, a data structure for compactly encoding a function with static support in order to support approximate evaluation queries and lower bounds are provided to prove the (near) optimality of the constructions.
LOW REDUNDANCY IN STATIC DICTIONARIES WITH CONSTANT QUERY TIME
It is shown that on a unit cost RAM with word size Θ(log |U |), a static dictionary for n-element sets with constant worst case query time can be obtained using B+O(log log |U|)+o(n) bits of storage, where B e is the minimum number of bits needed to represent all nelement subsets of U.
Space Efficient Hash Tables with Worst Case Constant Access Time
• Computer Science
Theory of Computing Systems
• 2004
This is the first dictionary that has worst case constant access time and expected constant update time, works with (1 + ε)n space, and supports satellite information.
Balanced Allocation and Dictionaries with Tightly Packed Constant Size Bins
• Mathematics
ICALP
• 2005
It is shown that e> (2/e)d−−1 is sufficient to guarantee that with high probability each ball can be put into one of the two bins assigned to it, without any bin overflowing.
Compressed bloom filters
A Bloom filter is a simple space-efficient randomized data structure for representing a set in order to support membership queries. Although Bloom filters allow false positives, for many applications
Efficient hashing with lookups in two memory accesses
This work presents a simple, practical hashing scheme that maintains a maximum load of 2, with high probability, while achieving high memory utilization, and analyzes the trade-off between the number of moves performed during inserts and the maximum load on a bucket.