O processo de hashing consiste em transformar uma dado (chave) em outro valor (hash). Geralmente o hashing é utilizado na construção de Hash tables, estruturas de dados chave-valor que fornecem operações em tempo constante .

Mesmo que a Hash function distribua chaves de maneira uniforme na tabela, a probabilidade de que duas chaves sejam associadas a um mesmo endereço (colisão) é alta. Em geral, a probabilidade de se inserir itens consecutivos, sem colisão, em uma tabela de tamanho é dada por:

Dessa forma, é essencial lidar com o Tratamento de colisões em hash tables.