Embellishments
Keep lists sorted:
- Average insert cost: 1+N/(2 M)
- Average search cost (hit): 1+N/(2 M)
- Average search cost (miss): 1+N/(2 M)
Move-to-front / transpose
- Last item accessed in a list becomes the first or moves one closer (Self adjusting hashing)
Store lists as a binary search tree:
- Improves expected worst case
Assume key can be reconstructed (in part) from hash value -- don’t store full key!