Using Hashing to Solve the Dictionary Problem (In External Memory)
John Iacono, Mihai P\v{a}tra\c{s}cu

TL;DR
This paper introduces a novel external memory data structure using hashing that significantly improves update times for the dictionary problem, surpassing traditional comparison-based methods and establishing optimality.
Contribution
It presents the first external memory data structure to beat the comparison barrier using hashing and departs from the indivisibility paradigm, with proven optimality.
Findings
Supports updates in O((\u03bb / B)) time
Supports queries in O(log_( n)) time
Proves the data structure's optimality in the cell-probe model
Abstract
We consider the dictionary problem in external memory and improve the update time of the well-known buffer tree by roughly a logarithmic factor. For any \lambda >= max {lg lg n, log_{M/B} (n/B)}, we can support updates in time O(\lambda / B) and queries in sublogarithmic time, O(log_\lambda n). We also present a lower bound in the cell-probe model showing that our data structure is optimal. In the RAM, hash tables have been used to solve the dictionary problem faster than binary search for more than half a century. By contrast, our data structure is the first to beat the comparison barrier in external memory. Ours is also the first data structure to depart convincingly from the indivisibility paradigm.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
