Una tabella di hash è un tipo di strumento per la memorizzazione delle informazioni. In informatica, questi strumenti per tenere traccia delle informazioni, o dei dati, sono chiamati strutture di dati. Una hash table è una struttura di dati che usa una funzione hash per tenere traccia di dove vengono messi i dati. Ogni informazione da memorizzare ha un nome, che viene chiamato chiave. Per esempio, una chiave può essere il nome di una persona. Ogni nome è abbinato ad un dato chiamato un valore, come il numero di telefono della persona.

I dati sono conservati in un'altra struttura di dati chiamata array, che è come molte scatole, o secchielli, in fila per contenere i dati. Ogni casella ha un numero che inizia da 0 e continua a contare.

L'idea alla base di un hash table è quella di capire quale scatola mettere i dati usando solo il suo nome. Ciò significa che, indipendentemente dal numero di caselle riempite, è sempre possibile trovare rapidamente le informazioni se si ha il suo nome. La hash table utilizza una funzione hash per capire in quale numero inserire i dati dal suo nome. La funzione hash legge un nome e restituisce un numero.

Un buon Hash Table troverà sempre le informazioni alla stessa velocità, indipendentemente dalla quantità di dati inseriti. Molte Hash Table permettono anche all'utente di inserire coppie chiave/valore (un nome e i suoi dati) e di estrarle alla stessa velocità.

Per questo motivo, le Hash Tables possono spesso trovare informazioni più velocemente di altri strumenti, come gli alberi di ricerca o altre strutture di ricerca delle tabelle. Di conseguenza, sono utilizzati in molti tipi di software per computer. Sono usati soprattutto per array associativi, database, cache e set.