Sobes.tech
Junior — Middle

Ką vadiname, kai vieno maišo turinio saugoma kelių skirtingų reikšmių?

sobes.tech AI

Atsakymas iš AI

Situacija, kai vienas hash'as yra saugomi keli skirtingi reikšmės, vadinama kliūtimi.

Kliūtis atsiranda, kai skirtingi raktai skaičiuojant hash funkciją duoda tą pačią reikšmę (hash). Kadangi hash lentelė naudoja hash greitam duomenų pasiekiamumui, būtina efektyviai tvarkyti kliūtis.

Kliūčių valdymo pavyzdžiai:

  • Grandinimas (chaining) — kiekvienoje hash lentelės ląstelėje saugomas visų elementų, turinčių tą patį hash, sąrašas.
  • Atvira adresacija (open addressing) — kliūčių atveju, ieškoma kitos laisvos ląstelės pagal tam tikrą taisyklę (linijinis, kvadratinis ir kt.).

iOS ir Swift, žodynuose (Dictionary) kliūtys valdomos naudojant vidinius mechanizmus, dažniausiai su grandinimu.