Journal of the ACM (JACM)
More analysis of double hashing
STOC '88 Proceedings of the twentieth annual ACM symposium on Theory of computing
Dynamic Perfect Hashing: Upper and Lower Bounds
SIAM Journal on Computing
SIAM Journal on Computing
Introduction to algorithms
ESA '01 Proceedings of the 9th Annual European Symposium on Algorithms
Backyard Cuckoo Hashing: Constant Worst-Case Operations with a Succinct Representation
FOCS '10 Proceedings of the 2010 IEEE 51st Annual Symposium on Foundations of Computer Science
Hi-index | 5.23 |
We propose a new hash function, the unique permutation hash function, and a performance analysis of its hash computation. We denote the cost of a hash function h by C"h(k,N), which stands for the expected number of table entries that are checked when inserting the (k+1)^s^t key into a hash table of size N, where k out of N table entries are filled by previous insertions. A hash function maps a key to a permutation of the table locations. A hash function, h, is simple uniform if items are equally likely to be hashed to any table location (in the first trial). A hash function, h, is random or strong uniform if the probability of any permutation to be a probe sequence, when using h, is 1N!, where N is the size of the table. We show that the unique permutation hash function is not only a simple uniform hash function but also a random hash function, i.e., strong uniform, and therefore has the optimal cost. Namely, each probe sequence is equally likely to be chosen when the keys are uniformly chosen. Our hash function ensures that each empty table location has the same probability to be assigned by a uniformly chosen key. We also show that the expected time for computing the unique permutation hash function is O(1) and the expected number of table locations that are checked before an empty location is found during insertion (or search) is also O(1) for constant load factors @a