Можете ли објаснити принцип рада хеш табеле и како се у њој чувају подаци?
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.