English

Non-Empty Bins with Simple Tabulation Hashing

Data Structures and Algorithms 2018-11-01 v1

Abstract

We consider the hashing of a set XUX\subseteq U with X=m|X|=m using a simple tabulation hash function h:U[n]={0,,n1}h:U\to [n]=\{0,\dots,n-1\} and analyse the number of non-empty bins, that is, the size of h(X)h(X). We show that the expected size of h(X)h(X) matches that with fully random hashing to within low-order terms. We also provide concentration bounds. The number of non-empty bins is a fundamental measure in the balls and bins paradigm, and it is critical in applications such as Bloom filters and Filter hashing. For example, normally Bloom filters are proportioned for a desired low false-positive probability assuming fully random hashing (see \url{en.wikipedia.org/wiki/Bloom_filter}). Our results imply that if we implement the hashing with simple tabulation, we obtain the same low false-positive probability for any possible input.

Cite

@article{arxiv.1810.13187,
  title  = {Non-Empty Bins with Simple Tabulation Hashing},
  author = {Anders Aamand and Mikkel Thorup},
  journal= {arXiv preprint arXiv:1810.13187},
  year   = {2018}
}

Comments

To appear at SODA'19

R2 v1 2026-06-23T04:58:50.793Z