•Ideally we want our hash function to map each search key into a unique index into our table.
•This would be considered a perfect hash function. But, it is only possible to construct perfect hash functions if we can afford to have a unique entry in our table for each search key -- which is not typically the case.
•This means that a typical hash function will end up mapping two or more search keys into the same table index! Obviously this causes a collision.