Зачем нужны GetHashCode и Equals и какова их роль в Dictionary<TKey, TValue> Контекст: переопределение методов в .NET для хеширования объектов и определения их равенства GetHashCode формирует для объекта целочисленный…
Как устроена хеш-таблица и почему она ускоряет поиск? структура данных, предназначенная для хранения пар ключ-значение ключ обрабатывается с помощью хеш-функции, которая формирует индекс полученный индекс определяет…
Как разрешаются коллизии в словарях и хэш-таблицах Контейнеры, в которых доступ к данным выполняется по ключу, используют хэш-функцию Коллизия возникает, если разные ключи получают одинаковое хэш-значение К основным…
Как реализован словарь (dict) в Python? dict представляет собой хеш-таблицу с открытой адресацией Для ключей вычисляется хеш, после чего сохраняются пары (ключ, значение) При коллизии выполняется поиск следующей…
Коллекции в .NET: назначение разных типов Массив имеет фиксированный размер, обеспечивает быстрый доступ по индексу и служит базовой структурой данных. List<T> представляет собой динамический массив, который при…
Как оценить скорость работы словаря (Big O)? словарь представляет структуру ключ → значение (хеш-таблицу) вставка, поиск и удаление обычно имеют amortized O(1) (среднюю амортизированную сложность) в худшем случае при…
структура данных словаря (map, hash map) ключ обязан быть хешируемым (hashable) неизменяемые типы: строки, числа, кортежи, содержащие неизменяемые элементы изменяемые типы (list, dict, set) использовать нельзя в…
Что означают entry и buckets в Dictionary? Dictionary — хеш-таблица, в которой хранятся пары ключ-значение buckets — массив ссылок на элементы, имеющие одинаковый хеш entry — структура, содержащая ключ, значение, хеш…