A Linear Time Algorithm for Finding Minimal Perfect Hash Functions

Z. Czech,B. Majewski
DOI: https://doi.org/10.1093/comjnl/36.6.579
Abstract:A new algorithm for finding minimal perfect hash functions (MPHF) is proposed. The algorithm given three pseudorandom functions h 0 , h 1 and h 2 , searches for a function g such that F(w)= (h 0 (w)+g(h 1 (w))+g(h 2 (w))) mod m is a MPHF, where m is a number of input words. The algorithm involves generation of random bipartite graphs and runs in linear time. The hash function generated is represented by using 2m+O(1) memory words of log m bits each. The empirical observations show that the algorithm runs very fast in practice
What problem does this paper attempt to address?