Given a set 𝑆 of 𝑛 keys, a perfect hash function for 𝑆 maps the keys in 𝑆 to the first 𝑚 ≥ 𝑛 integers without collisions. It may return an arbitrary result for any key not in 𝑆 and is called minimal if 𝑚 = 𝑛. The most important parameters are its space consumption, construction time, and query time. Years of research now enable modern perfect hash functions to be extremely fast to query, very space-efficient, and scale to billions of keys. Different approaches give different trade-offs between these aspects. For example, the smallest constructions get within 0.1% of the space lower bound of log2 � � bits per key. Others are particularly fast to query, requiring only one memory access. Perfect hashing has many applications, for example, to avoid collision resolution in static hash tables, and is used in databases, bioinformatics, and stringology. Since the last comprehensive survey in 1997, significant progress has been made. This survey covers the latest developments and provides a starting point for getting familiar with the topic. Additionally, our extensive experimental evaluation can serve as a guide to select a perfect hash function for use in applications.

Modern Minimal Perfect Hashing: A Survey / H. Lehmann, T. Mueller, R. Pagh, G.E. Pibiri, P. Sanders, S. Vigna, S. Walzer. - In: ACM COMPUTING SURVEYS. - ISSN 0360-0300. - 58:10(2026 Mar 11), pp. 251.1-251.36. [10.1145/3797036]

Modern Minimal Perfect Hashing: A Survey

S. Vigna;
2026

Abstract

Given a set 𝑆 of 𝑛 keys, a perfect hash function for 𝑆 maps the keys in 𝑆 to the first 𝑚 ≥ 𝑛 integers without collisions. It may return an arbitrary result for any key not in 𝑆 and is called minimal if 𝑚 = 𝑛. The most important parameters are its space consumption, construction time, and query time. Years of research now enable modern perfect hash functions to be extremely fast to query, very space-efficient, and scale to billions of keys. Different approaches give different trade-offs between these aspects. For example, the smallest constructions get within 0.1% of the space lower bound of log2 � � bits per key. Others are particularly fast to query, requiring only one memory access. Perfect hashing has many applications, for example, to avoid collision resolution in static hash tables, and is used in databases, bioinformatics, and stringology. Since the last comprehensive survey in 1997, significant progress has been made. This survey covers the latest developments and provides a starting point for getting familiar with the topic. Additionally, our extensive experimental evaluation can serve as a guide to select a perfect hash function for use in applications.
Minimal perfect hashing; data structures
Settore INFO-01/A - Informatica
   SEcurity and RIghts in the CyberSpace (SERICS)
   SERICS
   MINISTERO DELL'UNIVERSITA' E DELLA RICERCA
   codice identificativo PE00000014
11-mar-2026
feb-2026
Article (author)
File in questo prodotto:
File Dimensione Formato  
3797036.pdf

accesso aperto

Tipologia: Publisher's version/PDF
Licenza: Creative commons
Dimensione 1.26 MB
Formato Adobe PDF
1.26 MB Adobe PDF Visualizza/Apri
Pubblicazioni consigliate

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2434/1226935
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
  • OpenAlex 0
social impact