
doi: 10.1145/73007.73041
We consider two hashing models for storing a set S ⊂ {0, 1, 2, …, m - 1} in a table T of size n.The first model uses universal hashing for a partially loaded table. A set of hash functions is universal if, for any the input set, a randomly selected function has an efficient expected performance. Universal hash functions originate in [CW79], where they were used for open hashing using chaining. [CW79] poses as an open question whether comparable results can be achieved for any closed hashing schemes.The second model is perfect hashing for a full table. In preprocessing the input set is used to determine a hash function that achieves some desired performance criteria. This model was used among others in [ME82] and [FKS84].In both models a key problem is to construct a “small” set of functions, which will permit a short description (program) for each function in the set.We show, for the first time, that universal hashing can be successfully used for closed hashing and in particular for double hashing. Specifically, the set of congruential polynomials of O(log n) degree is universal for double hashing if the table load is below .75; the program size (or number of random bits generated by the algorithm) is O(log log m + log2n).For perfect hashing, we obtain nearly tight results on the size of oblivious O(1)-probe hash functions: Oblivious k-probe hash functions require O(n/k2e-k + log log m) bits of description.A probabilistic construction is presented, which shows that oblivious k-probe hash functions, can be specified in O(ne-k + log log m) bits, which nearly matches the above lower bound.We give a variation of an O(1) time 1-probe (perfect) hash function that can be specified in O(n + log log m) bits, which is tight to within a constant factor of the lower bound.In view of the adaptive schemes presented in [FNSS88], these bounds establish a significant gap between oblivious and non-oblivious O(1)-probe search.
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 8 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Top 10% | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
