Sobes.tech
Junior

Šta je hash tabela?

sobes.tech АИ

Одговор од АИ

Hash tabela je struktura podataka koja implementira asocijativni niz (rečnik). Čuva parove "ključ-vrednost", gde su ključevi jedinstveni.

Osnovni principi:

  • Hash funkcija: Pretvara ključ u broj (hash kod ili indeks). Ovaj indeks ukazuje na mesto čuvanja vrednosti u nizu (kanta).
  • Niz (kante): Stvarno čuvanje parova "ključ-vrednost".
  • Kolizije: Situacija kada različiti ključevi generišu isti hash kod.

Rešenje kolizija:

  • Metod lančanog povezivanja (Separate chaining): U svakoj kanti se čuva lista (ili druga struktura podataka) elemenata sa istim hash kodom.
  • Otvoreno adresiranje (Open addressing): Pri koliziji se traži slobodna kanta koristeći različite strategije (linearnu sondiranje, kvadratno sondiranje, dvostruko hashiranje).

Karakteristike:

  • Brz pristup: U idealnom slučaju O(1) za operacije umetanja, pretraživanja i brisanja.
  • Zavisnost od hash funkcije: Kvalitet hash funkcije i strategija rešavanja kolizija snažno utiču na performanse.
  • Korišćenje memorije: Zahteva dodatnu memoriju za niz kanti.

Upotreba u QA:

  • Čuvanje test podataka (ključ - naziv parametra, vrednost - očekivana ili stvarna vrednost).
  • Provera jedinstvenosti elemenata (npr. ID-ovi korisnika).
  • Implementacija keševa.