Balanced allocation and dictionaries with tightly packed constant size bins

  • Authors:
  • Martin Dietzfelbinger;Christoph Weidling

  • Affiliations:
  • Technische Universität Ilmenau, Ilmenau, Germany;sd&m AG, Offenbach am Main, Germany

  • Venue:
  • ICALP'05 Proceedings of the 32nd international conference on Automata, Languages and Programming
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

We study an aspect of the balanced allocation paradigm (also known as the “two-choices paradigm”). Assume there are n balls and m =(1+ε) n /d bins of capacity d each, for a fixed d≥1. To each of the balls two possible bins are assigned at random. We show that ε (2/e)d−−1 is sufficient to guarantee that with high probability each ball can be put into one of the two bins assigned to it, without any bin overflowing. Further, it takes constant time on average for changing the arrangement to accommodate a new ball, if εγ·βd, for some constants γ0, βm positions, each representing a bucket of capacity d≥1. Key x may be stored in bucket h1(x) or h2(x), for two fully random hash functions h1 and h2. For arbitrary ε0, we obtain an implementation of a dynamic dictionary that accommodates n keys in m =(1+ε)n /d buckets of size d = O(log(1/ε)). For a lookup operation only two hash functions have to be evaluated and two contiguous segments of d memory cells have to be inspected. The expected time for inserting a new key is constant.