Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Меню
Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад

Как работает Dictionary<TKey, TValue>: как вычисляется bucket и как влияет коллизия на производительность?

Проверяет знание хэш-таблицы и её поведения при коллизиях.

Короткий ответ

Dictionary хранит элементы в массивах bucket’ов. Для ключа вычисляют хэш-код key.GetHashCode(), берут bucketIndex = hash % buckets.Length, и если в этом бакете уже есть запись, сравнивают ключи на равенство, переходя по связному списку (или дереву в новых версиях). При небольшой нагрузке lookup — O(1), но при многих коллизиях (одинаковых хэших) может деградировать до O(n) в худшем случае.

Длинный ответ

Зарегистрироваться

Развернутый ответ доступен только зарегистрированным пользователям.

Уровень

  • Рейтинг:

    2

  • Сложность:

    5

Навыки

  • C#

    C#

Ключевые слова

#dictionary

#hash

#bucket

#collision

#chain

#lookup

Подпишись на C# Developer в телеграм