A guided tour of Chernoff bounds
Information Processing Letters
Average-case analysis of algorithms for matchings and related problems
Journal of the ACM (JACM)
SIAM Journal on Computing
Balanced allocations: the heavily loaded case
STOC '00 Proceedings of the thirty-second annual ACM symposium on Theory of computing
Contention Resolution in Hashing Based Shared Memory Simulations
SIAM Journal on Computing
Reconciling simplicity and realism in parallel disk modelsy
Parallel Computing - Parallel data-intensive algorithms and applications
Random Graphs, Random Walks, Differential Equations and the Probabilistic Analysis of Algorithms
STACS '98 Proceedings of the 15th Annual Symposium on Theoretical Aspects of Computer Science
Uniform hashing in constant time and linear space
Proceedings of the thirty-fifth annual ACM symposium on Theory of computing
Almost random graphs with simple hash functions
Proceedings of the thirty-fifth annual ACM symposium on Theory of computing
FOCS '99 Proceedings of the 40th Annual Symposium on Foundations of Computer Science
On Universal Classes of Extremely Random Constant-Time Hash Functions
SIAM Journal on Computing
Journal of Algorithms
Efficient hashing with lookups in two memory accesses
SODA '05 Proceedings of the sixteenth annual ACM-SIAM symposium on Discrete algorithms
History-Independent Cuckoo Hashing
ICALP '08 Proceedings of the 35th international colloquium on Automata, Languages and Programming, Part II
More Robust Hashing: Cuckoo Hashing with a Stash
ESA '08 Proceedings of the 16th annual European symposium on Algorithms
De-amortized Cuckoo Hashing: Provable Worst-Case Performance and Experimental Results
ICALP '09 Proceedings of the 36th International Colloquium on Automata, Languages and Programming: Part I
Applications of a Splitting Trick
ICALP '09 Proceedings of the 36th International Colloquium on Automata, Languages and Programming: Part I
An Analysis of Random-Walk Cuckoo Hashing
APPROX '09 / RANDOM '09 Proceedings of the 12th International Workshop and 13th International Workshop on Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques
Fast and compact hash tables for integer keys
ACSC '09 Proceedings of the Thirty-Second Australasian Conference on Computer Science - Volume 91
Orientability of random hypergraphs and the power of multiple choices
ICALP'10 Proceedings of the 37th international colloquium conference on Automata, languages and programming
More Robust Hashing: Cuckoo Hashing with a Stash
SIAM Journal on Computing
The power of one move: hashing schemes for hardware
IEEE/ACM Transactions on Networking (TON)
Brief announcement: large-scale multimaps
Proceedings of the twenty-third annual ACM symposium on Parallelism in algorithms and architectures
An Analysis of Random-Walk Cuckoo Hashing
SIAM Journal on Computing
A precise analysis of Cuckoo hashing
ACM Transactions on Algorithms (TALG)
ISAAC'11 Proceedings of the 22nd international conference on Algorithms and Computation
Sharp load thresholds for cuckoo hashing
Random Structures & Algorithms
Design strategies for minimal perfect hash functions
SAGA'07 Proceedings of the 4th international conference on Stochastic Algorithms: foundations and applications
Explicit and efficient hash families suffice for cuckoo hashing with a stash
ESA'12 Proceedings of the 20th Annual European conference on Algorithms
Hi-index | 5.23 |
We study a particular aspect of the balanced allocation paradigm (also known as the ''two-choices paradigm''): constant sized bins, packed as tightly as possible. Let d=1 be fixed, and assume there are m bins of capacity d each. To each of n@?dm balls two possible bins are assigned at random. How close can dm/n=1+@e be to 1 so that with high probability each ball can be put into one of the two bins assigned to it without any bin overflowing? We show that @e(2/e)^d^-^1 is sufficient. If a new ball arrives with two new randomly assigned bins, we wish to rearrange some of the balls already present in order to accommodate the new ball. We show that on average it takes constant time to rearrange the balls to achieve this, for @e@b^d, for some constant @b=1. Keys are assigned to buckets by two fully random hash functions. How many keys can be placed in these bins, if key x may go to bin h"1(x) or to bin h"2(x)? We obtain an implementation of a dictionary that accommodates n keys in m=(1+@e)n/d buckets of size d=O(log(1/@e)), so that key x resides in bucket h"1(x) or h"2(x). For a lookup operation, only two hash functions have to be evaluated and two segments of d contiguous memory cells have to be inspected. If d=1+3.26@?ln(1/@e), a static arrangement exists with high probability. If d=16@?ln(1/@e), a dynamic version of the dictionary exists so that the expected time for inserting a new key is log(1/@e)^O^(^l^o^g^l^o^g^(^1^/^@e^)^).