Space Efficient Hash Tables with Worst Case Constant Access Time

@article{Fotakis2004SpaceEH,
  title={Space Efficient Hash Tables with Worst Case Constant Access Time},
  author={D. Fotakis and R. Pagh and P. Sanders and P. Spirakis},
  journal={Theory of Computing Systems},
  year={2004},
  volume={38},
  pages={229-248}
}
Abstract We generalize Cuckoo Hashing to d-ary Cuckoo Hashing and show how this yields a simple hash table data structure that stores n elements in (1 + ε)n memory cells, for any constant ε > 0. Assuming uniform hashing, accessing or deleting table entries takes at most d=O (ln (1/ε)) probes and the expected amortized insertion time is constant. This is the first dictionary that has worst case constant access time and expected constant update time, works with (1 + ε)n space, and supports… Expand
History-Independent Cuckoo Hashing
TLDR
A practical history-independentdynamic dictionary based on cuckoo hashing is constructed, which enjoys most of the attractive properties of cucko hashing, in particular, no dynamic memory allocation is required, updates are performed in expected amortized constant time, and membership queries are performing in worst case constant time. Expand
Backyard Cuckoo Hashing: Constant Worst-Case Operations with a Succinct Representation
TLDR
This paper construction is a two-level variant of cuckoo hashing, augmented with a ``backyard'' that handles a large fraction of the elements, together with a de-amortized perfect hashing scheme for eliminating the dependency on $\boldsymbol{n}$ memory words, and guarantees constant-time operations in the worst case with high probability. Expand
Linear probing with constant independence
TLDR
It is shown in this paper that linear probing using a pairwise independent family may have expected logarithmic cost per operation, and it is shown that 5-wise independence is enough to ensure constant expected time per operation. Expand
Linear Probing with Constant Independence
TLDR
It is shown in this paper that linear probing using a pairwise independent family may have expected logarithmic cost per operation, and that 5-wise independence is enough to ensure constant expected time per operation. Expand
Better GPU Hash Tables
We revisit the problem of building static hash tables on the GPU and design and build three bucketed hash tables that use different probing schemes. Our implementations are lock-free and offerExpand
A Seven-Dimensional Analysis of Hashing Methods and its Implications on Query Processing
TLDR
It is shown that a right or wrong decision in picking the right hashing scheme and hash function combination may lead to significant difference in performance, and that hashing should be considered a white box before blindly using it in applications, such as query processing. Expand
De-amortized Cuckoo Hashing: Provable Worst-Case Performance and Experimental Results
TLDR
The theoretical analysis and experimental results indicate that the scheme is highly efficient, and provides a practical alternative to the only other known approach for constructing dynamic dictionaries with such worst case guarantees, due to Dietzfelbinger and Meyer auf der Heide. Expand
A further analysis of Cuckoo Hashing with a Stash and Random Graphs of Excess r
TLDR
It is shown that the same bounds on the failure probability hold even without this search process and thus, the performance increases, and some explicit asymptotic approximations concerning the number of usual resp. Expand
Explicit and Efficient Hash Families Suffice for Cuckoo Hashing with a Stash
TLDR
The analysis for cuckoo hashing with a stash with constant stash size utilizes a graph counting argument and is much simpler than previous proofs, and can be generalized to situations where the stash size is non-constant. Expand
Lookup with CAM Aided Hash Table
TLDR
By rational approximation, the paper provided the lower bound on average memory access number over CAHT, which can be evaluated to evaluate the throughput and the capability of CAM, so chose the proper hashing scheme in the actual applications. Expand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 45 REFERENCES
Cuckoo hashing
TLDR
A simple dictionary with worst case constant lookup time, equaling the theoretical performance of the classic dynamic perfect hashing scheme of Dietzfelbinger et al, and is competitive with the best known dictionaries having an average case (but no nontrivial worst case) guarantee on lookup time. Expand
Uniform hashing in constant time and linear space
TLDR
This paper presents an almost ideal solution to this problem: a hash function that, on any set of n inputs, behaves like a truly random function with high probability, can be evaluated in constant time on a RAM, and can be stored in O(n) words, which is optimal. Expand
Dynamic perfect hashing: upper and lower bounds
TLDR
An Omega (log n) lower bound is proved for the amortized worst-case time complexity of any deterministic algorithm in a class of algorithms encompassing realistic hashing-based schemes. Expand
Multilevel adaptive hashing
TLDR
According to the analysis, with the Multilevel Hashing Algorithm it is possible to build a dictionary that is able to answer 20 parallel searches among 64,000 entries in less than 5 ps using relatively inexpensive hardware. Expand
Optimal Arrangement of Keys in a Hash Table
TLDR
It is shown that arrangements minimizing either the average or worst-case number of probes required to retrieve any key in the table can be found using an algorithm for the assignment problem. Expand
Simple Minimal Perfect Hashing in Less Space
TLDR
A simple randomized algorithm that, given a set S ⊆ U of size n, works in O(n) expected time and computes a minimal perfect hash function for S whose representation is a table of at most (2+Ɛ)n integers in the range {0,. Expand
Succinct Dynamic Dictionaries and Trees
TLDR
It is shown that a binary tree on n nodes, where each node has b = O(lg n)-bit data stored at it, can be maintained under node insertions while supporting navigation in O(1) time and updates in O((lg lg n)1+Ɛ) amortised time, for any constant Ɛ > 0. Expand
Almost random graphs with simple hash functions
TLDR
The main new technique is the combined analysis of the graph structure and the inner structure of the hash functions, as well as a new way of looking at the cycle structure of random (multi)graphs. Expand
LOW REDUNDANCY IN STATIC DICTIONARIES WITH CONSTANT QUERY TIME
A static dictionary is a data structure storing subsets of a finite universe U , answering membership queries. We show that on a unit cost RAM with word size Θ(log |U |), a static dictionary forExpand
Efficient Ordering of Hash Tables
TLDR
A scheme for reordering the table as new elements are added is presented and the minimax problem of ordering the table so as to minimize the length of the longest probe sequence to find any element is presented. Expand
...
1
2
3
4
5
...