Problem with Direct Addressing:
U may be too large.

For example, consider a compiler symbol table. Symbols here are up to 30 alphabetic characters.

U = 26 . 26 . 26 . ... . 26 = = 2x bits.

Note that 1 gigabyte is only bits.

Let K = set of actual keys occurring.

For large U, K is typically U.

Define Table T of size K

(T is a **hash table**, where we have
chopped up U).