Sobes.tech
Junior — Middle

Hash таблицасында бир хеш үчүн бир нече ар түрдүү маанилер сакталган учур эмне деп аталат?

sobes.tech AI

AIден жооп

Бир хеш таблицасында бир хеш үчүн бир нече ар башка маанилер сакталса, ал коллизия деп аталат.

Коллизия пайда болот, эгер ар кандай ачкычтар хеш функциясын эсептегенде бирдей маанини (хеш) беришет. Хеш таблица тез маалыматка кирүү үчүн хешти колдонуп жаткандыктан, коллизияларды эффективдүү иштетүү керек.

Коллизияларды иштетүүнүн мисалдары:

  • Занжирлөө (chaining) — ар бир хеш таблица клеткасында ошол хешке тиешелүү бардык элементтердин тизмеги сакталат.
  • Ачык дарекке жайгаштыруу (open addressing) — коллизия болгондо, белгилүү бир эрежеге ылайык кийинки бош клетка издөө (сызыктуу, квадратик жана башка).

iOS жана Swiftте, сөздүктөрдө (Dictionary) коллизиялар ички механизмдер менен, көбүнчө занжирлөө аркылуу, иштетилет.