Sobes.tech
Junior — Middle

Tudná elmagyarázni egy hash-tábla működési elvét és hogyan tárolódnak benne az adatok?

sobes.tech MI

Válasz az MI-től

Hash-tábla egy olyan adatszerkezet, amely nagyon gyors hozzáférést biztosít az adatokhoz kulcs alapján. Működési elve egy hash-függvény használatán alapul, amely a kulcsot egy tömb indexévé alakítja, ahol a megfelelő érték tárolódik.

Amikor egy kulcs-érték párt kell tárolni, a hash-függvény kiszámítja az indexet, és az adatokat ebbe a tömbbe helyezi. Kulcs szerinti kereséskor a hash-függvény újra kiszámítja az indexet, és gyorsan megtalálja a szükséges értéket.

Ha két különböző kulcs ugyanazt az indexet adja (ütközés), általában a láncolt lista módszert alkalmazzák: a cellában egy lista tárolódik az összes ilyen indexű elemből, és a keresés ebben a listában történik.

Példa Dart (Flutter):

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

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

Itt a Map egy hash-tábla megvalósítása, ahol a kulcs egy sztring, az érték pedig egy szám.