Встречается на собеседованиях • сегодня
Что делать при возникновении коллизии
Коллизии в хеш-таблицах (например, в Python dict) возникают, когда разные ключи имеют одинаковый хеш. Python решает это двумя способами:
- Открытая адресация - если ячейка занята, ищется следующая свободная (методом линейного пробирования или квадратичного).
- Связывание - в одну ячейку помещается связный список элементов (редко используется в современных реализациях).
Пример коллизии:
python
class BadHash:
def __hash__(self):
return 42 # Все экземпляры будут иметь одинаковый хеш
a = BadHash()
b = BadHash()
d = {a: 'a', b: 'b'} # Работает, но с коллизиейНа практике:
- Python автоматически обрабатывает коллизии
- Для пользовательских классов важно правильно реализовать
__hash__и__eq__ - При частых коллизиях производительность падает до O(n)

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы