Изменения

Перейти к: навигация, поиск

Quotient filter

1 байт добавлено, 00:08, 7 июня 2015
Нет описания правки
Пусть у нас есть ключ <tex>K</tex>, его хеш обозначим <tex>h(K)</tex>, остаток <tex>h_r</tex> и частное <tex>h_q</tex>. Попробуем поместить остаток в хеш-таблицу в ячейку с индексом <tex>h_q</tex>, называемую канонической. Возможно, ячейка уже занята, так как существует шанс полных коллизий (остаток и частное разных ключей совпадают) или частичных коллизий (частное разных ключей совпадают).
При полной коллизии мы получим ложноположительное срабатывание, но при частичной коллизии , с помощью дополнительных битов это избегается. Когда каноническая ячейка занята, помещаем остаток в какую-то ячейку справа. Этот способ решения колизий схож с [[:Разрешение_коллизий|линейным методом разрешения колизий]].
Последовательность ячеек, имеющих одинаковые частные называется '''пробегом''' (англ. ''run''). Возможно, что начало пробега не занимает канонический слот, если он уже занят каким-то другим пробегом.
41
правка

Навигация