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

StackOverflow https://stackoverflow.com/questions/2996036

  •  24-10-2019
  •  | 
  •  

Вопрос

При расчете коэффициента нагрузки хэштата с реализацией массива с открытым адресом, которую я использую:

numberOfKeysInArray/sizeOfArray

Однако мне пришло в голову, что, поскольку удаленные записи должны быть отмечены как таковые (чтобы отличить их от пустых пространств), может иметь смысл включить их в количество ключей.

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

Какой надлежащий расчет: включая удаленные клавиши или нет?

Это было полезно?

Решение

Нет, по определению, коэффициент нагрузки - это отношение количества элементов к размеру массива ведра. Смотрите, например Википедия или же эта лекция.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top