Skip to main content

Design Strategies for Minimal Perfect Hash Functions

  • Conference paper
Stochastic Algorithms: Foundations and Applications (SAGA 2007)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4665))

Included in the following conference series:

Abstract

A minimal perfect hash function h for a set S ⊆ U of size n is a function \(h\colon U\to \{0,\ldots,n-1\}\) that is one-to-one on S. The complexity measures of interest are storage space for h, evaluation time (which should be constant), and construction time. The talk gives an overview of several recent randomized constructions of minimal perfect hash functions, leading to space-efficient solutions that are fast in practice. A central issue is a method (“split-and-share”) that makes it possible to assume that fully random (hash) functions are available.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bast, H., Mehlhorn, K., Schäfer, G., Tamaki, H.: Matching algorithms are fast in sparse random graphs. Theory Comput. Syst. 39(1), 3–14 (2006)

    Article  MATH  MathSciNet  Google Scholar 

  2. Bentley, J.: Programming pearls: a sample of brilliance. J. Assoc. Comput. Mach. 30(9), 754–757 (1987)

    MathSciNet  Google Scholar 

  3. Bloom, B.H.: Space/time trade-offs in hash coding with allowable errors. Commun. ACM 13(7), 422–426 (1970)

    Article  MATH  Google Scholar 

  4. Botelho, F.C., Kohayakawa, Y., Ziviani, N.: A practical minimal perfect hashing method. In: Nikoletseas, S.E. (ed.) WEA 2005. LNCS, vol. 3503, pp. 488–500. Springer, Heidelberg (2005)

    Google Scholar 

  5. Botelho, F.C., Pagh, R., Ziviani, N.: Simple and space-efficient minimal perfect hash functions. In: Proc. 10th Workshop on Algorithms and Data Structures (WADS 2007). LNCS, vol. 4619, Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  6. Carter, L., Wegman, M.N.: Universal classes of hash functions. J. Comput. Syst. Sci. 18(2), 143–154 (1979)

    Article  MATH  MathSciNet  Google Scholar 

  7. Chazelle, B., Kilian, J., Rubinfeld, R., Tal, A.: The Bloomier filter: an efficient data structure for static support lookup tables. In: Proc. 15th ACM-SIAM SODA 2004, pp. 30–39 (2004)

    Google Scholar 

  8. Czech, Z.J., Havas, G., Majewski, B.S.: An optimal algorithm for generating minimal perfect hash functions. Inform. Proc. Lett. 43(5), 257–264 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  9. Czech, Z.J., Havas, G., Majewski, B.S.: Perfect Hashing (Fundamental Study. Theor. Comput. Sci. 182(1–2), 1–143 (1997)

    Article  MATH  MathSciNet  Google Scholar 

  10. Demaine, E.D., Meyer auf der Heide, F., Pagh, R., Patrascu, M.: De dictionariis dynamicis pauco spatio utentibus (lat. On dynamic dictionaries using little space). In: Correa, J.R., Hevia, A., Kiwi, M.A. (eds.) LATIN 2006. LNCS, vol. 3887, pp. 349–361. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  11. Dietzel, L.: Speicherplatzeffiziente perfekte Hashfunktionen, Diplomarbeit, Technische Universität Ilmenau, Fakultät IA (in German) (2005)

    Google Scholar 

  12. Dietzfelbinger, M., Gil, J., Matias, Y., Pippenger, N.: Polynomial hash functions are reliable. In: Kuich, W. (ed.) Automata, Languages and Programming. LNCS, vol. 623, pp. 235–246. Springer, Heidelberg (1992)

    Google Scholar 

  13. Dietzfelbinger, M., Hagerup, T.: Simple minimal perfect hashing in less space. In: Meyer auf der Heide, F. (ed.) ESA 2001. LNCS, vol. 2161, pp. 109–120. Springer, Heidelberg (2001)

    Google Scholar 

  14. Dietzfelbinger, M., Meyer auf der Heide, F.: Dynamic hashing in real time. In: Paterson, M.S. (ed.) Automata, Languages and Programming. LNCS, vol. 443, pp. 6–19. Springer, Heidelberg (1990)

    Chapter  Google Scholar 

  15. Dietzfelbinger, M., Karlin, A., Mehlhorn, K., Meyer auf der Heide, F., Rohnert, H., Tarjan, R.: Dynamic perfect hashing: Upper and lower bounds. SIAM J. Comput. 23(4), 738–761 (1994)

    Article  MATH  MathSciNet  Google Scholar 

  16. Dietzfelbinger, M., Weidling, C.: Balanced allocation and dictionaries with tightly packed constant size bins. Theoret. Comput. Sci. 380(1–2), 47–68 (2007)

    Article  MATH  MathSciNet  Google Scholar 

  17. Fotakis, D., Pagh, R., Sanders, P., Spirakis, P.G.: Space efficient hash tables with worst case constant access time. Theory Comput. Syst. 38(2), 229–248 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  18. Fredman, M.L., Komlós, J.: On the size of separating systems and families of perfect hash functions. SIAM J. Alg. Disc. Meth. 5(1), 61–68 (1984)

    Article  MATH  Google Scholar 

  19. Fredman, M.L., Komlós, J., Szemerédi, E.: Storing a sparse table with 0(1) worst case access time. J. Assoc. Comput. Mach. 31(3), 538–544 (1984)

    MATH  MathSciNet  Google Scholar 

  20. Hagerup, T., Tholey, T.: Efficient minimal perfect hashing in nearly minimal space. In: Ferreira, A., Reichel, H. (eds.) STACS 2001. LNCS, vol. 2010, pp. 317–326. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  21. Knuth, D.E.: The Art of Computer Programming, 2nd edn. Seminumerical Algorithms, vol. 2. Addison-Wesley, Reading (1981)

    MATH  Google Scholar 

  22. Majewski, B.S., Wormald, N.C., Havas, G., Czech, Z.J.: A family of perfect hashing methods. Computer J. 39(6), 547–554 (1996)

    Article  Google Scholar 

  23. Mehlhorn, K.: Data Structures and Algorithms. Sorting and Searching, vol. 1. Springer, Berlin (1984)

    Google Scholar 

  24. Motwani, R.: Average-case analysis of algorithms for matchings and related problems. J. Assoc. Comput. Mach. 41(6), 1329–1356 (1994)

    MATH  MathSciNet  Google Scholar 

  25. Pagh, R.: Hash and displace: Efficient evaluation of minimal perfect hash functions. In: Dehne, F., Gupta, A., Sack, J.-R., Tamassia, R. (eds.) WADS 1999. LNCS, vol. 1663, pp. 49–54. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  26. Pittel, B., Wormald, N.C.: Counting connected graphs inside-out. J. Comb. Theory, Ser. B 93(2), 127–172 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  27. Sanders, P.: personal communication

    Google Scholar 

  28. Schmidt, J.P., Siegel, A.: The spatial complexity of oblivious k-probe hash functions. SIAM J. Comput. 19(5), 775–786 (1990)

    Article  MATH  MathSciNet  Google Scholar 

  29. Siegel, A.: On universal classes of extremely random constant-time hash functions. SIAM J. Comput. 33(3), 505–543 (2004)

    Article  MATH  MathSciNet  Google Scholar 

  30. Thorup, M.: Even strongly universal hashing is pretty fast. In: Proc. 11th ACM-SIAM SODA 2000, pp. 496–497 (2000)

    Google Scholar 

  31. Weidling, C.: Platzeffiziente Hashverfahren mit garantierter konstanter Zugriffszeit, Dissertation. Technische Universität Ilmenau (in German) Electronic version. (2004), http://www.db-thueringen.de/servlets/DocumentServlet?id=2431

  32. Woelfel, P.: Maintaining external memory efficient hash tables. In: Díaz, J., Jansen, K., Rolim, J.D.P., Zwick, U. (eds.) APPROX 2006 and RANDOM 2006. LNCS, vol. 4110, pp. 508–519. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Juraj Hromkovič Richard Královič Marc Nunkesser Peter Widmayer

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Dietzfelbinger, M. (2007). Design Strategies for Minimal Perfect Hash Functions. In: Hromkovič, J., Královič, R., Nunkesser, M., Widmayer, P. (eds) Stochastic Algorithms: Foundations and Applications. SAGA 2007. Lecture Notes in Computer Science, vol 4665. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74871-7_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-74871-7_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-74870-0

  • Online ISBN: 978-3-540-74871-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics