## Hash and displace: Efficient evaluation of minimal perfect hash functions (1999)

### Cached

### Download Links

- [www.it-c.dk]
- [www.itu.dk]
- [www.brics.dk]
- [www.brics.dk]
- [www.brics.dk]
- [www.brics.dk]
- [www.brics.dk]
- DBLP

### Other Repositories/Bibliography

Venue: | In Workshop on Algorithms and Data Structures |

Citations: | 9 - 1 self |

### BibTeX

@INPROCEEDINGS{Pagh99hashand,

author = {Rasmus Pagh},

title = {Hash and displace: Efficient evaluation of minimal perfect hash functions},

booktitle = {In Workshop on Algorithms and Data Structures},

year = {1999},

pages = {49--54}

}

### OpenURL

### Abstract

A new way of constructing (minimal) perfect hash functions is described. The technique considerably reduces the overhead associated with resolving buckets in two-level hashing schemes. Evaluating a hash function requires just one multiplication and a few additions apart from primitive bit operations. The number of accesses to memory is two, one of which is to a fixed location. This improves the probe performance of previous minimal perfect hashing schemes, and is shown to be optimal. The hash function description (“program”) for a set of size n occupies O(n) words, and can be constructed in expected O(n) time. 1

### Citations

694 |
Universal Classes of Hash Functions
- Carter, Wegman
- 1979
(Show Context)
Citation Context ... that buckets in a (universal) hash table can be resolved using displacements. j i d i+d Figure 1: Tarjan-Yao displacement scheme 3 j js2 A Perfect Class of Hash Functions The concept of universality =-=[1]-=- plays an important role in the analysis of our class. We use the following notation. Definition 1 A class of functions Hr = {h1,...,hk}, hi :U →{0,...,r−1},isc-universal if for any x, y ∈ U, x �= y, ... |

147 | Data Structures and Algorithms 1: Sorting and Searching - Mehlhorn - 1984 |

44 | Sorting and searching on the word RAM - Hagerup - 1998 |

43 | An optimal algorithm for generating minimal perfect hash functions
- Czech, Havas, et al.
- 1992
(Show Context)
Citation Context ... time O(n) if the algorithm has access to a source of random bits. Some work on minimal perfect hashing has been done under the assumption that the algorithm can pick and store truly random functions =-=[2, 9]-=-. Since the space requirements 1 This is not a serious limitation, since universal classes provide (efficient) perfect hash functions with O(log n +loglogu) bit description and range O(n 2 ). This mea... |

41 |
Practical minimal perfect hash functions for large databases
- Fox, Heath, et al.
- 1992
(Show Context)
Citation Context ...is unsuitable for implementation, one has to settle for pseudo-random functions in practice. Empirical studies show that limited randomness properties are often as good as total randomness. Fox et al =-=[6, 7]-=- studied some classes which share several features with the one presented here. Their results indicate convincing practical performance, and suggest that it is possible to bring down the storage requi... |

40 |
János Komlós, and Endre Szemerédi. Storing a sparse table with 0(1) worst case access time
- Fredman
- 1984
(Show Context)
Citation Context ... attractive in practice. 1.1 Previous Work Czech, Havas and Majewski provide a comprehensive survey of perfect hashing [3]. We review some of the most important results. Fredman, Komlós and Szemerédi =-=[8]-=- showed that it is possible to construct space efficient perfect hash functions with range a = O(n) which can be evaluated in constant time. Their model of computation is a word RAM where an element o... |

40 |
The spatial complexity of oblivious k-probe hash functions
- Schmidt, Siegel
- 1990
(Show Context)
Citation Context ...mal perfect hash function, that is, one with range a = n. The description size is then 6n words (in a straightforward implementation), and three words are probed during evaluation. Schmidt and Siegel =-=[12]-=- utilize compact encoding techniques to compress the description to the optimal O(n +loglogu) bits. The scheme is hard to implement, and the evaluation time is prohibitive (although constant). Their s... |

39 |
Universal hashing and k-wise independent random variables via integer arithmetic without primes
- Dietzfelbinger
- 1996
(Show Context)
Citation Context ...U, x �= y, Pr[hi(x)=hi(y)] ≤ c/r . i It is (c, 2)-universal if for any x, y ∈ U, x �= y, and p, q ∈{0,...,r−1}, Pr i [hi(x)=pand hi(y)=q]≤c/r 2 . Many such classes with constant c are known, see e.g. =-=[4]-=-. For our application the important thing to note is that there are universal classes that allow efficient storage and evaluation of their functions. More specifically, O(log u) (andevenO(log n +loglo... |

22 | Endre Szemeredi, “Storing a sparse table with 0(1) worst case access time - Fredman, Komlos - 1984 |

20 | LEND and faster algorithms for constructing minimal perfect hash functions
- Fox, Chen, et al.
- 1992
(Show Context)
Citation Context ...is unsuitable for implementation, one has to settle for pseudo-random functions in practice. Empirical studies show that limited randomness properties are often as good as total randomness. Fox et al =-=[6, 7]-=- studied some classes which share several features with the one presented here. Their results indicate convincing practical performance, and suggest that it is possible to bring down the storage requi... |

18 |
Endre Tarjan and Andrew Chi-Chih Yao. Storing a sparse table
- Robert
- 1979
(Show Context)
Citation Context ... during the experiments. 1.2 The Tarjan-Yao Displacement Scheme The class of hash functions presented here can be seen as a variation of an early perfect class of hash functions due to Tarjan and Yao =-=[13]-=-. Their class requires a universe of size u = O(n 2 ) (which they improve to u = O(n c ) for constant c>2). The idea is to split the universe into blocks of size O(n), each of which is assigned a “dis... |

17 | Error correcting codes, perfect hashing circuits, and deterministic dynamic dictionaries - Miltersen - 1998 |

16 | Friedhelm Meyer auf der Heide. A new universal class of hash functions and dynamic hashing in real time - Dietzfelbinger - 1990 |

9 |
Perfect hashing
- CZECH, HAVAS, et al.
- 1997
(Show Context)
Citation Context ...espect to the evaluation of the function. Altogether, the class is believed to be attractive in practice. 1.1 Previous Work Czech, Havas and Majewski provide a comprehensive survey of perfect hashing =-=[3]-=-. We review some of the most important results. Fredman, Komlós and Szemerédi [8] showed that it is possible to construct space efficient perfect hash functions with range a = O(n) which can be evalua... |

9 | Faster deterministic dictionaries
- Pagh
- 2000
(Show Context)
Citation Context ...onsider classes whose functions can be stored in O(n) machine words. The fastest algorithm for deterministically constructing a perfect hash function with constant lookup time runs in time O(n log n) =-=[11]-=-. Randomized construction algorithms offer better expected performance. An FKS perfect hash function can be constructed in expected time O(n) if the algorithm has access to a source of random bits. So... |

1 |
Graph-theoretic obstacles to perfect hashing
- Havas, Majewski
- 1993
(Show Context)
Citation Context ... time O(n) if the algorithm has access to a source of random bits. Some work on minimal perfect hashing has been done under the assumption that the algorithm can pick and store truly random functions =-=[2, 9]-=-. Since the space requirements 1 This is not a serious limitation, since universal classes provide (efficient) perfect hash functions with O(log n +loglogu) bit description and range O(n 2 ). This mea... |

1 | Data structures and algorithms. 1 - Mehlhorn - 1984 |