Hashing functions…
How about this hashing function:
given a parameters A,B,K:
HA,B,K(X)=(A*X+B mod 7K)/K
What patterns would cause only one bucket to be used?
For a given bad pattern, can you find different values of
A,B,K to make this pattern OK (defeat your adversary)?
Given a patterns, if you ran your program many times
with random A,B,K, what’s the average performance?
If you knew the data ahead of time, how could you
design a really good hashing function?