Hash and Displace: Efficient Evaluation of Minimal Perfect Hash Functions

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1663)


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. Two memory probes suffice for evaluation of the function. This improves the probe performance of previous minimal perfect hashing schemes, and is shown to be optimal.


Hash Function Universal Classis Memory Probe Space Consumption Addition Modulo 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Arne Andersson, Peter Bro Miltersen, Søren Riis, and Mikkel Thorup. Static dictionaries on AC0 RAMs: query time θ(\( \theta (\sqrt {\log n/\log \log n)} \) log n/ log log n) is necessary and sufficient. In Proceedings of 37th Annual Symposium on Foundations of Computer Science, pages 441–450. IEEE Comput. Soc. Press, Los Alamitos, CA, 1996.Google Scholar
  2. [2]
    J. Lawrence Carter and Mark N. Wegman. Universal classes of hash functions. J. Comput. System Sci., 18(2):143–154, 1979.MathSciNetzbMATHCrossRefGoogle Scholar
  3. [3]
    Zbigniew J. Czech, George Havas, and Bohdan S. Majewski. Perfect hashing. Theoretical Computer Science, 182(1-2):1–143, 15 August 1997.MathSciNetzbMATHCrossRefGoogle Scholar
  4. [4]
    Martin Dietzfelbinger. Universal hashing and k-wise independent random variables via integer arithmetic without primes. In STACS 96 (Grenoble, 1996), pages 569–580. Springer, Berlin, 1996.Google Scholar
  5. [5]
    Martin Dietzfelbinger and Friedhelm Meyer auf der Heide. A new universal class of hash functions and dynamic hashing in real time. In Automata, languages and programming (Coventry, 1990), pages 6–19. Springer, New York, 1990.CrossRefGoogle Scholar
  6. [6]
    Edward A. Fox, Lenwood S. Heath, Qi Fan Chen, and Amjad M. Daoud. Practical minimal perfect hash functions for large databases. Communications of the ACM, 35(1):105–121, January 1992.CrossRefGoogle Scholar
  7. [7]
    Michael L. Fredman, János Komlós, and Endre Szemerédi. Storing a sparse table with O(1) worst case access time. J. Assoc. Comput. Mach., 31(3):538–544, 1984.MathSciNetzbMATHCrossRefGoogle Scholar
  8. [8]
    Kurt Mehlhorn. Data structures and algorithms. 1. Springer-Verlag, Berlin, 1984. Sorting and searching.zbMATHGoogle Scholar
  9. [9]
    Rasmus Pagh. Hash and displace: Efficient evaluation of minimal perfect hash functions. Research Series RS-99-13, BRICS, Department of Computer Science, University of Aarhus, May 1999.Google Scholar
  10. [10]
    Robert Endre Tarjan and Andrew Chi Chih Yao. Storing a sparse table. Communications of the ACM, 22(11):606–611, November 1979.MathSciNetzbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  1. 1.BRICS, Department of Computer ScienceUniversity of AarhusAarhus CDenmark

Personalised recommendations