All-Purpose Hashing

by   Michael A. Bender, et al.

Despite being one of the oldest data structures in computer science, hash tables continue to be the focus of a great deal of both theoretical and empirical research. A central reason for this is that many of the fundamental properties that one desires from a hash table are difficult to achieve simultaneously; thus many variants offering different trade-offs have been proposed. This paper introduces Iceberg hashing, a hash table that simultaneously offers the strongest known guarantees on a large number of core properties. Iceberg hashing supports constant-time operations while improving on the state of the art for space efficiency, cache efficiency, and low failure probability. Iceberg hashing is also the first hash table to support a load factor of up to 1 - o(1) while being stable, meaning that the position where an element is stored only ever changes when resizes occur. In fact, in the setting where keys are Θ(log n) bits, the space guarantees that Iceberg hashing offers, namely that is uses at most log|U|n + O(n loglog n) bits to store n items from a universe U, matches a lower bound by Demaine et al. that applies to any stable hash table. Iceberg hashing introduces new general-purpose techniques for some of the most basic aspects of hash-table design. Notably, our indirection-free technique for dynamic resizing, which we call waterfall addressing, and our techniques for achieving stability and very-high probability guarantees, can be applied to any hash table that makes use of the front-yard/backyard paradigm for hash table design.



There are no comments yet.


page 1

page 2

page 3

page 4


Separate Chaining Meets Compact Hashing

While separate chaining is a common strategy for resolving collisions in...

On the Optimal Time/Space Tradeoff for Hash Tables

For nearly six decades, the central open question in the study of hash t...

Hashing with Linear Probing and Referential Integrity

We describe a variant of linear probing hash tables that never moves ele...

Note on Generalized Cuckoo Hashing with a Stash

Cuckoo hashing is a common hashing technique, guaranteeing constant-time...

A Genetic Algorithm for Obtaining Memory Constrained Near-Perfect Hashing

The problem of fast items retrieval from a fixed collection is often enc...

DHash: Enabling Dynamic and Efficient Hash Tables

Given a specified average load factor, hash tables offer the appeal of c...

Linear Probing Revisited: Tombstones Mark the Death of Primary Clustering

First introduced in 1954, linear probing is one of the oldest data struc...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.