Sobes.tech
Junior — Middle

Mit nevezünk annak, amikor egy hash-hez több különböző érték van tárolva egy hash-táblában?

sobes.tech MI

Válasz az MI-től

Egy olyan helyzet, amikor egy hash táblában egy hash-hez több különböző érték van tárolva, kollision-nak nevezik.

A kollision akkor fordul elő, amikor különböző kulcsok ugyanazt az értéket (hash) adják a hash függvény kiszámításakor. Mivel a hash táblázat a hash-t használja az adatok gyors eléréséhez, hatékonyan kell kezelni a kollíziókat.

A kollíziók kezelésének példái:

  • Láncolás (chaining) — minden hash táblázat cellájában egy lista tárolódik az ugyanazzal a hash-sel rendelkező összes elemről.
  • Nyitott címzés (open addressing) — kollízió esetén a következő szabad cellát keressük egy meghatározott szabály szerint (lineáris, kvadratikus keresés stb.).

Az iOS és Swift esetében a szótárakban (Dictionary) a kollíziókat belső mechanizmusok kezelik, általában láncolással.