CHAPTER OBJECTIVES
1. Understand how hashing works, when it should be used, and when it should
not be used.
2. Explain the significance of the Uniform Hashing Assumption.
3. Compare the various collision handlers: chaining, offset-of-1, quotient-offset.