Definition
In computing, a hash table (also hash map) is a data structure used to implement an associative array, a structure that can map keys to values. A hash table uses a hash function to compute an index into an array of buckets or slots, from which the correct value can be found. (from wiki)
A hash function is any algorithm that maps data of variable length to data of a fixed length. The values returned by a hash function are called hash values, hash codes, hash sums, check sums or simply hashes. (from wiki)
load factor, λ, is the ratio of the number of elements in the hash table to the table size.
Rehashing: When the has table is too full, we can build another table that is about twice as big (with an associated new hash function) and scan down the entire original hash table, computing the new hash value for each (nondeleted) element and inserting it in the new table.
Collision Resolution
1. Separate Chaining
2. Open Addressing
Linear Probe
Quadratic Probe