None
EN
Thoughts on Consensus MPHF and tiny pointers
['Ragnar', 'Groot Koerkamp']
home on CuriousCoding
instead of partitioning keys into buckets, we can directly assign each key a slice of, say, 16 bits in the output buffer of \(n\log_2e + n\varepsilon\) bits. The core idea feels quite similar to most minimal perfect hashing algorithms: Instead of storing the hashed position of a key using \(\log n\) bits of memory, it is sufficient to store only \(\log 1/\delta\) bit tiny pointers (\(1-\delta\) is the load factor) and then look up keys using both the key and the tiny pointer. To insert a key in the full data structure, try inserting into \(\beta\) random buckets of \(A_1\), then \(\beta\) random buckets of \(A_2\), and so on,