Что такое collision в хеш-таблице?

Junior
613 просмотров
AFK Offer AI

Collision (коллизия) — ситуация, когда два разных ключа получают одинаковый хеш и попадают в один бакет. Это неизбежно, потому что пространство хешей конечно, а ключей бесконечно (принцип голубятни). Go map решает коллизии через chaining — в одном бакете может быть несколько пар ключ-значение. При чтении Go сравнивает хеш, потом сам ключ. Если коллизий много — производительность деградирует с O(1) до O(n). Поэтому важна хорошая хеш-функция с равномерным распределением.

Следующий вопрос

Как работать с gorilla/websocket?