Как заставить таблицу ha sh "Найти" использовать универсальную семейную детерминированность хеширования c? - PullRequest
0 голосов
/ 14 марта 2020

Я изучаю структуру данных и получил несколько вопросов на ха sh настольных уроках. Я знаю, что таблица Ha sh должна иметь функции Find и Add, обе они должны знать позицию списка только depand на переданном ключе, то есть ha sh (x) должен быть детерминирован c, Вот почему Random {0..m-1} не может быть функцией ha sh, верно? Но когда я изучаю универсальное семейное хеширование, я совершенно запутался, это означает, что мы выбираем случайную функцию ha sh из набора функций ha sh? (Или мы выбираем случайную функцию в случайных функциях - то же самое?) Так что мой вопрос как сделать так, чтобы это стало детерминированным? Это не детерминизм c, есть ли какое-то неправильное понимание для меня? Мой код предвосхищения:

H is universal family
Find(O){
  h = random{H}
  L = A[h(O)]
  ...
}
Add(O) {
  h = random{H}
  L = A[h(O)]
}

, поэтому каждый раз, когда h (), конечно, не одно и то же, это не значит, что не может найти правильную позицию.

Это неправильная реализация га sh таблица с использованием универсального семейства? и как реализовать функции поиска, добавления с использованием универсального семейного хеширования?

...