Typically, records comprise several fields, each responsible for keeping a
particular type of information about an entity the record represents. For example,
a student record may contain fields for the student’s ID, name, date of birth, sex,
home address, major, and so on. Among record fields there is usually at least one
called a key that is used for identifying entities represented by the records (e.g.,
the student’s ID).
Hashing is based on the idea of distributing keys among a one-dimensional
array H[0..m − 1] called a hash table.
The distribution is done by computing, for
each of the keys, the value of some predefined function h called the hash function.
This function assigns an integer between 0 and m − 1, called the hash address, to
a key.