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, β< 1. The problem may also be described in data structure language. Generalizing cuckoo hashing (Pagh and Rodler, 2001), we consider a hash table with m positions, each representing a bucket of capacity d≥1. Key x may be stored in bucket h 1(x) or h 2(x), for two fully random hash functions h 1 and h 2. 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.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.