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


11

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

  1. insert,
  2. find и
  3. delete

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


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

Ответы:


4

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

O(logn)


1
Это все правильно, но я не понимаю, как это отвечает на поставленный вопрос.
rgrig

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

4

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

O(logn)

O(1)

nn/2Θ(n)Θ(logn)


2
«со средним распределением данных» следует читать «с достаточно случайной хэш - функции»
JeffE
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.