Почему не там никакой Словарь. TrimExcess ()?

Измененный значение в опциях к 0 и можно открыть всю таблицу.

10
задан Dan Tao 26 October 2009 в 14:25
поделиться

3 ответа

Словарь MSDN реализован в виде хеш-таблицы. Если бы вы удалили лишнее, вам пришлось бы придумать алгоритм, который по-прежнему обеспечивал бы время поиска, близкое к O (1), что по сути было бы случайно отсортированным списком.

3
ответ дан 3 December 2019 в 21:21
поделиться

Это частично предположение: словарь «упорядочен» как хеш-таблица. Зарезервированная емкость - это не просто набор адресов свободной памяти поверх словаря. Вместо этого он состоит из пустого места по всему Словарю. Это сделано для того, чтобы сделать добавление / перемещение / удаление и т. Д. Очень эффективным. Если у вас есть метод TrimExcess для словаря,

5
ответ дан 3 December 2019 в 21:21
поделиться

Я предполагаю, что в этом случае аргумент емкости помогает определить функцию хеширования, а также количество сегментов; изменение размера / обрезка разреженной коллекции данных потребует пересчета хэшей всех оставшихся сохраненных элементов.

6
ответ дан 3 December 2019 в 21:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: