Table of Contents
Fetching ...

Optimal Bounds for Open Addressing Without Reordering

Martin Farach-Colton, Andrew Krapivin, William Kuszmaul

TL;DR

The paper resolves long-standing questions about open-addressing hash tables without reordering by introducing Elastic Hashing, which achieves amortized $O(1)$ and worst-case $O(\log \delta^{-1})$ expected probes (and insertion time) for $n - \lfloor \delta n \rfloor$ insertions, under $\delta > O(1/n)$ and $\delta^{-1}$ a power of two. It also shows that nonreordering greedy schemes can attain $O(\log^2 \delta^{-1})$ worst-case expected probes with Funnel Hashing, while proving matching lower bounds that certify tightness; in particular, Yao's conjecture about uniform hashing being near-optimal for greedy schemes is contradicted. The key ideas include a non-greedy, multi-level construction that decouples insertion cost from search cost via a two-dimensional probe sequence mapped by an injection $\phi$, and a funnel-structure greedy scheme that leverages the power-of-two-choices paradigm. Together, these results clarify the role of reordering in achieving small probe costs and establish tight benchmarks for open-addressing without reordering in heavily loaded tables.

Abstract

In this paper, we revisit one of the simplest problems in data structures: the task of inserting elements into an open-addressed hash table so that elements can later be retrieved with as few probes as possible. We show that, even without reordering elements over time, it is possible to construct a hash table that achieves far better expected search complexities (both amortized and worst-case) than were previously thought possible. Along the way, we disprove the central conjecture left by Yao in his seminal paper ``Uniform Hashing is Optimal''. All of our results come with matching lower bounds.

Optimal Bounds for Open Addressing Without Reordering

TL;DR

The paper resolves long-standing questions about open-addressing hash tables without reordering by introducing Elastic Hashing, which achieves amortized and worst-case expected probes (and insertion time) for insertions, under and a power of two. It also shows that nonreordering greedy schemes can attain worst-case expected probes with Funnel Hashing, while proving matching lower bounds that certify tightness; in particular, Yao's conjecture about uniform hashing being near-optimal for greedy schemes is contradicted. The key ideas include a non-greedy, multi-level construction that decouples insertion cost from search cost via a two-dimensional probe sequence mapped by an injection , and a funnel-structure greedy scheme that leverages the power-of-two-choices paradigm. Together, these results clarify the role of reordering in achieving small probe costs and establish tight benchmarks for open-addressing without reordering in heavily loaded tables.

Abstract

In this paper, we revisit one of the simplest problems in data structures: the task of inserting elements into an open-addressed hash table so that elements can later be retrieved with as few probes as possible. We show that, even without reordering elements over time, it is possible to construct a hash table that achieves far better expected search complexities (both amortized and worst-case) than were previously thought possible. Along the way, we disprove the central conjecture left by Yao in his seminal paper ``Uniform Hashing is Optimal''. All of our results come with matching lower bounds.
Paper Structure (15 sections, 20 theorems, 55 equations)

This paper contains 15 sections, 20 theorems, 55 equations.

Key Result

Theorem 1

Let $n \in \mathbb{N}$ and $\delta \in (0, 1)$ be parameters such that $\delta > O(1/n)$ and $\delta^{-1}$ is a power of two. It is possible to construct an open-addressing hash table that supports $n - \lfloor \delta n \rfloor$ insertions in an array of size $n$, that does not reorder items after t

Theorems & Definitions (39)

  • Theorem 1
  • Theorem 2
  • Theorem 2
  • Lemma 1
  • proof
  • Lemma 2
  • proof
  • Lemma 3
  • proof
  • Lemma 4
  • ...and 29 more