Sobes.tech
Junior — Middle

Можете ли објаснити принцип рада хеш табеле и како се у њој чувају подаци?

sobes.tech АИ

Одговор од АИ

Hash tabela je struktura podataka koja omogućava vrlo brz pristup podacima putem ključa. Princip rada se zasniva na korišćenju hash funkcije, koja pretvara ključ u indeks niza gde se čuva odgovarajuća vrednost.

Kada je potrebno sačuvati par ključ-vrednost, hash funkcija izračunava indeks, i podaci se smeštaju u ćošak niza na tom indeksu. Prilikom pretraživanja po ključu, hash funkcija ponovo izračunava indeks, i brzo se nalazi potrebna vrednost.

Ako dva različita ključa daju isti indeks (kolizija), obično se koristi metoda lančanog rešavanja: u ćošku se čuva lista svih elemenata sa tim indeksom, i pretraživanje se vrši u toj listi.

Primer u Dart (Flutter):

void main() {
  Map<String, int> hashTable = {};
  hashTable['apple'] = 5;
  hashTable['banana'] = 3;

  print(hashTable['apple']); // 5
}

Ovde je Map implementacija hash tabele, gde je ključ niz karaktera, a vrednost je broj.