Sobes.tech
Junior — Middle

Mida nimetatakse olukorraks, kui ühe hash-i jaoks salvestatakse mitu erinevat väärtust?

sobes.tech AI

Vastus AI-lt

Situatsioon, kus ühe hash väärtuse jaoks salvestatakse mitu erinevat väärtust, nimetatakse kokkupõrkeks.

Kokkupõrge tekib, kui erinevad võtmed arvutamisel annavad sama väärtuse (hash). Kuna hash-tabel kasutab hash-i kiireks andmetele juurdepääsuks, on vaja tõhusalt hallata kokkupõrkeid.

Kokkupõrkeid käsitlevad näited:

  • Kettimine (chaining) — iga hash-tabeli lahtris hoitakse kõigi samasse hash-i kuuluvate elementide nimekiri.
  • Ava aadressimine (open addressing) — kokkupõrke korral otsitakse järgmine vaba lahter vastavalt määratletud reeglile (jooneline, kvadraatiline jne.).

iOS-is ja Swiftis hallatakse sõnastikes (Dictionary) kokkupõrkeid sisemiste mehhanismide kaudu, tavaliselt kettimisega.