O(1) Insertion for Random Walk d-ary Cuckoo Hashing up to the Load Threshold
Tolson Bell, Alan Frieze
TL;DR
This work proves that random walk d-ary cuckoo hashing achieves O(1) expected insertion time for any fixed d≥3 up to the load threshold c_d^*. It develops a rigorous expansion-based framework, introducing recursively defined bad-sets B_i and sharpened path-count bounds to show that walks rarely concentrate and terminate quickly. The results include strong tail bounds and applicability to modified insertion schemes such as non-backtracking random walks and BFS, closing a long-standing gap by matching the optimal threshold regime for all d≥3. Overall, the paper provides a robust theoretical guarantee for fast online insertions in random-walk cuckoo hash schemes at high load factors, with practical implications for efficient dictionary implementations.
Abstract
The random walk $d$-ary cuckoo hashing algorithm was defined by Fotakis, Pagh, Sanders, and Spirakis to generalize and improve upon the standard cuckoo hashing algorithm of Pagh and Rodler. Random walk $d$-ary cuckoo hashing has low space overhead, guaranteed fast access, and fast in practice insertion time. In this paper, we give a theoretical insertion time bound for this algorithm. More precisely, for every $d\ge 3$ random hashes, let $c_d^*$ be the sharp threshold for the load factor at which a valid assignment of $cm$ objects to a hash table of size $m$ exists with high probability. We show that for any $d\ge 3$ hashes and load factor $c<c_d^*$, the expectation of the random walk insertion time is $O(1)$, that is, a constant depending only on $d$ and $c$ but not $m$.
