Хеширование с использованием деревьев поиска вместо списков

11

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

  1. insert,
  2. find и
  3. delete

стоит того средний случай. Улучшаются ли они по отношению к спискам?

Форрест Гамп
источник
Если у вас есть доступ к тщательному анализу времени выполнения хеш-таблиц с линейной цепочкой (т. Е. Линейных списков), замените часть, в которую включены средние затраты в линейных списках, на усредненные результаты в случае реализации сбалансированного дерева поиска. Остальное это механика. (Очевидно, это помогает.)
Рафаэль

Ответы:

4

O(1)O(n)O(n)O(n)O(logn)O(n)

O(logn)

jmad
источник
1
Это все правильно, но я не понимаю, как это отвечает на поставленный вопрос.
rgrig
Это был не тот же вопрос , вообще в то время. (Даже в истории редактирования нет первоначального вопроса. Странно.) Я мог бы обновить свой ответ, но он стал бы излишним с ответом Жиля.
jmad
4

O(n)nnn1=Θ(n)n1O(n)O(1)

O(logn)

O(1)

nn/2Θ(n)Θ(logn)

Жиль "ТАК - прекрати быть злым"
источник
2
«со средним распределением данных» следует читать «с достаточно случайной хэш - функции»
JeffE