MorphisHash: Improving Space Efficiency of ShockHash for Minimal Perfect Hashing
Not on the map. Why?
Abstract (arXiv)
A minimal perfect hash function (MPHF) maps a set of n keys to unique positions 1, ..., n. Representing an MPHF requires at least 1.44 bits per key. ShockHash is a technique to construct an MPHF and requires just slightly more space. It gives each key two pseudo random candidate positions. If each key can be mapped to one of its two candidate positions such that there is exactly one key mapped to each position, then an MPHF is found. If not, ShockHash repeats the process with a new set of random candidate positions. ShockHash has to store how many repetitions were required and for each key to which of the two candidate positions it is mapped. However, when a given set of candidate positions can be used as MPHF then there is not only one but multiple ways of mapping the keys to one of their candidate positions such that the mapping results in an MPHF. This redundancy makes up for the majority of the remaining space overhead in ShockHash. In this paper, we present MorphisHash which is a technique that almost completely eliminates this redundancy. Our theoretical result is that MorphisHash saves Theta(ln(n)) bits compared to ShockHash. This corresponds to a factor of 20 less space overhead in practice. The technique to accomplish this might be of a more general interest to compress data structures.
Key facts. Cited by 1 paper in the map (data through 14 Oct 2026). First posted on arXiv 13 Mar 2025.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2025: 1.
1 paper.
- 2025Learned Static Function Data Structurescited by 0
- 2025Learned Static Function Data Structures31 Oct 2025