Я изучаю структуру данных и получил несколько вопросов на ха 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 таблица с использованием универсального семейства? и как реализовать функции поиска, добавления с использованием универсального семейного хеширования?