Middle
Šta je kolizija heširanja i koja postoje rešenja za nju?
sobes.tech АИ
Одговор од АИ
Колизија хеша се јавља када два различита улазна вредности дају исту вредност хеш функције. Ово је неизбежно, јер је скуп могућих улаза обично већи од скупа могућих хеш вредности.
Методе за решавање колизија:
- Отворена адресација — у случају колизије, тражи се следећа слободна ћелија по одређеној секвенци (линеарно, квадратично, дупло хеширање).
- Везивање (chaining) — у свакој ћелији хеш табеле се чува повезана листа свих елемената са истом хеш вредношћу.
- Поновно хеширање — у случају колизије, примењује се друга хеш функција.
Пример са везивањем у Python-у:
хеш_табела = [[] for _ in range(10)]
def уметни(кључ, вредност):
индекс = hash(кључ) % 10
хеш_табела[индекс].append((кључ, вредност))
уметни('јабука', 1)
уметни('пам', 2) # могућа колизија