Universal Hash Function
Strengths:
- works on any type as long as you can form ki’s
- if we’re building a static table, we can try many a’s
- a random a has guaranteed good properties no matter what we’re hashing
Weaknesses
- must choose prime table size larger than any ki