logo

Ce este Hashing?

Hashing se referă la procesul de generare a unei ieșiri de dimensiune fixă ​​dintr-o intrare de dimensiune variabilă folosind formulele matematice cunoscute sub numele de funcții hash. Această tehnică determină un index sau o locație pentru stocarea unui articol într-o structură de date.

obțineți lungimea matricei în c

Structura datelor hashing - techcodeview.com



Necesitatea structurii de date Hash

Cantitatea de date de pe internet crește exponențial în fiecare zi, ceea ce face dificilă stocarea eficientă a acestora. În programarea de zi cu zi, această cantitate de date poate să nu fie atât de mare, dar totuși, trebuie să fie stocată, accesată și procesată ușor și eficient. O structură de date foarte comună care este utilizată în acest scop este structura de date Array.

Acum se pune întrebarea dacă Array era deja acolo, care era nevoie de o nouă structură de date! Răspunsul la aceasta este în cuvântul eficiență. Deși stocarea în Array ia O(1) timp, căutarea în ea durează cel puțin O(log n) timp. Acest timp pare să fie mic, dar pentru un set de date mare, poate cauza o mulțime de probleme și acest lucru, la rândul său, face ca structura de date Array să fie ineficientă.

Așa că acum căutăm o structură de date care să poată stoca datele și să caute în ea în timp constant, adică în O(1) timp. Așa a intrat în joc structura de date Hashing. Odată cu introducerea structurii de date Hash, acum este posibil să stocați cu ușurință datele în timp constant și să le regăsiți în timp constant.



Componentele hashingului

Există în principal trei componente ale hashingului:

  1. Cheie: A Cheie poate fi orice șir sau întreg care este alimentat ca intrare în funcția hash tehnica care determină un index sau o locație pentru stocarea unui articol într-o structură de date.
  2. Funcția Hash: The funcția hash primește cheia de intrare și returnează indexul unui element dintr-o matrice numită tabel hash. Indicele este cunoscut sub numele de indicele hash .
  3. Tabel Hash: Tabelul hash este o structură de date care mapează cheile la valori folosind o funcție specială numită funcție hash. Hash stochează datele într-o manieră asociativă într-o matrice în care fiecare valoare de date are propriul index unic.
Componentele hashingului

Componentele hashingului

Ce este coliziunea?

Procesul de hashing generează un număr mic pentru o cheie mare, deci există posibilitatea ca două chei să producă aceeași valoare. Situația în care cheia nou introdusă se mapează cu o cheie deja ocupată și trebuie gestionată folosind o tehnologie de gestionare a coliziunilor.



Ciocnire în Hashing

Ciocnire în Hashing

Avantajele hashingului în structurile de date

  • Suport cheie-valoare: Hashingul este ideal pentru implementarea structurilor de date cheie-valoare.
  • Preluare rapidă a datelor: Hashingul permite accesul rapid la elemente cu complexitate constantă.
  • Eficienţă: Operațiunile de inserare, ștergere și căutare sunt extrem de eficiente.
  • Reducerea utilizării memoriei: Hashingul necesită mai puțină memorie, deoarece alocă un spațiu fix pentru stocarea elementelor.
  • Scalabilitate: Hashingul funcționează bine cu seturi mari de date, menținând un timp de acces constant.
  • Securitate și criptare: Hashingul este esențial pentru stocarea în siguranță a datelor și verificarea integrității.

Pentru a afla mai multe despre hashing, consultați Introducere în hashing – Tutoriale privind structura datelor și algoritmi