Programarea computerelor este procesul care automatizează software-ul de calculator. Majoritatea programelor de calculator stochează date digitale în fișiere. Un tabel hash este un tabel special format din perechi valori cheie, care este generat din motive de performanță. Cheia hashtable este metoda de accesare a unei anumite informații dintr-un hashtable. Cheia este parametrul de căutare care este folosit pentru a accesa o anumită valoare dintr-un fișier de date.
De obicei, un tabel hash este un tabel plin de perechi valori chei. Cu această tehnică, fiecare valoare are o cheie hashtable corespunzătoare. Acest tip de tabel poate fi utilizat în multe domenii funcționale ale procesării computerizate. Tabelul este considerat o structură de date, care utilizează o funcție hash pentru a accesa cheia hashtable din tabel. Funcția hash convertește datele din text simplu în chei hash, în scopul accesului la date.
Când datele sunt stocate în fișiere de date, sunt create programe de calculator pentru a prelua datele. Funcțiile hash au de obicei algoritmi de acces mai rapid decât căutările normale din plan-text. Acest lucru se datorează faptului că o cheie hashtable este o reprezentare binară a datelor originale, care oferă indecși mai performanti pentru căutare.
O hashmap este o versiune nesincronizată a unui hashtable. Conține o listă de perechi valori cheie care sunt ordonate aleatoriu. Hashmap-ul permite crearea de valori nule în tabel, care nu este disponibil cu un hashtable normal. Aceste valori nule pot fi necesare pentru unele funcții de afaceri.
Hashtables folosesc algoritmi de hash pentru a crea cheia hashtable. Acești algoritmi sunt funcții matematice care convertesc datele plan-text într-o reprezentare numerică. Fiecare algoritm de hashing are o abordare specifică pentru crearea cheii hashing. Unii algoritmi au caracteristici de performanță mai bune, dar suferă de probleme de integritate a datelor.
Unul dintre dezavantajele algoritmilor de hashing este problema coliziunilor de hashing. O coliziune are loc atunci când două valori de text simplu ale datelor calculează la aceeași valoare hashing. Acest lucru este de obicei inevitabil atunci când aveți de-a face cu seturi mari de date, deoarece în cele din urmă va avea loc o coliziune. Există mai multe tehnici de rezoluție a coliziunilor care sunt utilizate pentru hashtables. Fiecare tehnică încearcă să abordeze problemele de coliziune într-un mod specific.
Înlănțuirea separată este un exemplu de descurajare a coliziunilor hashtable. Acest proces necesită crearea unei liste de perechi valori cheie care s-au ciocnit în tabelul hash. Lista de link-uri separată urmărește toate coliziunile. Este folosit de algoritmul de hashing ca un tabel de căutare suplimentar. De obicei, rezoluția de înlănțuire separată este suficientă pentru majoritatea configurațiilor hashtable.