Hash Tables


Introduction and Summary

We've seen searches that allow you to look through data in O(n) time, and searches that allow you to look through data in O(logn) time, but imagine a way to find exactly what you want in O(1) time. Think it's not possible? Think again! Hash tables allow the storage and retrieval of data in an average time of O(1) .

At its most basic level, a hash table data structure is just an array. Data is stored into this array at specific indices designated by a hash function. A hash function is a mapping between the set of input data and a set of integers.

With hash tables, there always exists the possibility that two data elements will hash to the same integer value. When this happens, a collision results (two data members try to occupy the same place in the hash table array), and methods have been devised to deal with such situations. In this guide, we will cover two methods, linear probing and separate chaining, focusing on the latter.

Hashing has uses elsewhere besides in hash tables. Certain string matching algorithms, for example Rabin-Karp, take advantage of hashing to do string searching in linear time as opposed to the quadratic time of the normal brute-force string searching algorithm.

Take a Study Break

SparkLife

What's your Pretty Little Liars name?

Take this quiz to find out!

SparkLife

Which young actress just got married?

Click to find out!

SparkLife

Cat bearding WINS THE INTERNET

Have you seen this yet?

SparkLife

Scary movies with funny posters

These. Are. Hilarious.

Geek out!

The MindHut

Geeky Actors: Then and Now

Travel back in time!

The MindHut

Villains We Want These Actresses to Play

From super cute to super bad!

The MindHut

10 Movies Better Than Their Books

What do you think?

The MindHut

Summer Movie Open Thread

Leave your thoughts here!

The MindHut

12 Scientific Inaccuracies in Into Darkness

What did Star Trek get wrong?

The Book

Cover image

Read What You Love, Anywhere You Like

Get Our FREE NOOK Reading Apps