ANSWER A hash table is a way to find data in an array, when you
have a known key and an unknown value that corresponds to the key.
You use a hashing function on the key to create an index into the
hash table containing the value. In the ideal case, this directly
returns the corresponding value. In the usual case, a collision can
occur. This means that the hashed key points to multiple possible
values. A hash table is usually used on large arrays that would
take a long time to search using other methods. A hash table can be
very fast and use very little memory, and does not require the
array to be sorted. The source code is slightly more complicated
than some search methods. With a poorly designed hashing function
when the hashed keys do not correspond one-to-one with the values,
the secondary search after a hash collision can take a large amount
of time.