Minimal Perfect Hashing Resources

Dr. Amjad M Daoud


 CICEM2013 Minimal Perfect Hashing Tutorial (powerpoint presentation)(HTML).


C/C++ Code

Python Code

Javascript Code


The algorithm is used to compute Google page rank Google Page Rank in C#; many derivatives of the original algorithm: 

1. Fuzzy Tolerant Search with DWAGs and MPHF

2. CMPH Library

3. MPHF in C#

4.  sh/perfect.html (splits keys into buckets by a first h1, sorts buckets by size, maps them in decreasing order so table[hash1(key)^hash2(key)] causes no collision).

5. Parts of the algorithm that was developed and published from 1989-1994 appeared in the 2009 Microsoft patent Perfect Multidimensional Spatial Hashing,  Hugues H. Hoppe et al  as
    Exemplary Hashing clause [0028], and claims 1,5,6,7,11,16.