Direct-address table gives us fast insertions, deletions, and finds (store item with key k in entry T[k]).
Hashing emulates direct-address table when the table is much smaller than the size of the universe of keys. Key k is stored in entry T[h(k)].
Need to cope with collisions: chaining (linked list), open addressing (extended hash function and probing).
Today: Analyze expected running time.