I'm trying to implement a minimal perfect hash function, and one of the primary ways to to this is to be able to take the known universe of keys and split them into decently even buckets of a small size (the smaller the better within reason). The problem is I cant figure out how to distribute these byte arrays. The entire set of keys is available at the outset of the algorithm. Does anyone have any suggestions of what I could do?
Thanks!