Ответ
Коллизия возникает, когда разные ключи в хэш-таблице (например, map в Go) попадают в одну и ту же ячейку памяти из-за одинакового хэш-значения.
Пример:
m := make(map[int]string)
m[1] = "one" // Предположим, хэш от 1 равен 123
m[2] = "two" // Хэш от 2 тоже 123 → коллизия
Как решается:
- Метод цепочек — храним список элементов в одной ячейке.
- Открытая адресация — ищем следующую свободную ячейку.
В Go используется гибридный подход, но детали скрыты в реализации рантайма.
Видео-ответы
▶
▶
▶
▶