
In some cases, the key is the datum itself. The keys may be fixed length, like an integer, or variable length, like a name.

Hashing is a computationally and storage space-efficient form of data access that avoids the non-constant access time of ordered and unordered lists and structured trees, and the often exponential storage requirements of direct access of state spaces of large or variable-length keys.

They require an amount of storage space only fractionally greater than the total space required for the data or records themselves. Hash functions and their associated hash tables are used in data storage and retrieval applications to access data in a small and nearly constant time per retrieval. Use of a hash function to index a hash table is called hashing or scatter storage addressing. The values are usually used to index a fixed-size table called a hash table. The values returned by a hash function are called hash values, hash codes, digests, or simply hashes.

There is a collision between keys "John Smith" and "Sandra Dee".Ī hash function is any function that can be used to map data of arbitrary size to fixed-size values. A hash function that maps names to integers from 0 to 15.
