Які переваги хешування зозулі перед динамічним ідеальним хешированием?


12

Динамічні ідеальні хеш-таблиці та хеш-таблиці зозулі - це дві різні структури даних, які підтримують найгірші випадки O (1) пошуку та очікувані O (1) -ставні вставки та вилучення. Обидва вимагають O (n) допоміжного простору та доступу до сімей хеш-функцій для своїх операцій.

Я думаю, що обидві ці структури даних самі по собі є красивими та блискучими, але я не впевнений, що бачу, як і коли одна з них була б кращою за іншу.

Чи є конкретні контексти, в яких одна з цих структур даних має явну перевагу перед іншою? Або вони переважно взаємозамінні?


Я не впевнений, чи застосовується одна з цих методик на практиці. Зазвичай такі типи структур даних, які пропонують найкращі асимптотичні межі, представляють переважно науковий інтерес, оскільки вони, як правило, мають велику константу, приховану в примітці. На практиці ви можете віддати перевагу більш простій, легшій у здійсненні техніку O ( log n ) із дійсно малою константою над більш складною O ( 1 ) з дійсно великою постійною. ОО(журналн)О(1)
Том ван дер Занден

@TomvanderZanden Це, безумовно, правда. Мене також цікавлять теоретичні переваги одного підходу над іншим - чи є якісь приємні теоретичні властивості, які кожен підхід може запропонувати над іншим?
templatetypedef

@templatetypedef, радимо вам додати це питання до цього питання. Люди не повинні читати коментарі, щоб зрозуміти ваше запитання - коментарі є тимчасовими і можуть зникнути в будь-який час.
DW

Так, ці методи реально застосовуються на практиці, як правило, в нішевих районах.
Псевдонім

1
Однією з переваг хешування зозулі є те, що це легко зрозуміти та реалізувати. Крім того, imho, це набагато легше проаналізувати, ніж динамічне ідеальне хешуваннявання.
А.Шульц

Відповіді:


3

Динамічний ідеальний хешинг у розумінні Дітцфельбінгера та ін. потрібне лише 2-незалежне хешування . Хоча є кілька результатів щодо простого хешування для хеш-таблиць з зозулею, такі як хеширование скрученої табуляції та "Явне та ефективне хеш-сімейство, достатнє для хешування зозулі зі сховищем", оригінальне динамічне ідеальне хешуваннявання є більш надійним у певному сенсі.


Дивіться пояснюючий коментар від ОП: "Мене також цікавлять теоретичні переваги одного підходу над іншим - чи є якісь приємні теоретичні властивості, які кожен підхід може запропонувати над іншим?"
jbapple

3

У хешуванні зозулі пошук може здійснюватися паралельно, тоді як у оригінальній динамічній ідеальній схемі хешування Dietzfelbinger et al., Для пошуку потрібні два ланцюгових доступу до пам'яті, у яких другий доступ використовує інформацію, отриману з першого.


1

Підвищити ефективність перемішування зозулі порівняно легко, дозволяючи кожному слоту вмістити більше одного елемента. Для слотів розміром 4 ефективність простору становить приблизно 95%. Тобто елементи можна вставляти, поки 95% місця в таблиці не буде використано для розміщення предметів, а не лише місць, куди можуть перейти елементи.

З іншого боку, межі у Dietzfelbinger та ін. папір про динамічне ідеальне хешуваннявання лише підтверджує, що операції з вставкою можуть тривати до тих пір, поки таблиця не буде заповнена не більше ніж на 3%.


Можливо, ви захочете поєднати два відповіді разом. :-)
templatetypedef

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.