Bloom filter — это компактная вероятностная структура данных, используемая для проверки принадлежности элемента к множеству. Она работает по простому, но мощному принципу: она может точно сказать, что элемента нет в множестве, но может только предположить, что элемент возможно есть в множестве.
Элементы обрабатываются несколькими хеш-функциями, каждая из которых отображает элемент на позицию в bit array. Для проверки принадлежности применяются те же хеш-функции — если любой бит не установлен, элемент определённо отсутствует.
Bloom filter — правильный выбор, когда тебе нужна быстрая и компактная проверка принадлежности и ты можешь допустить небольшой контролируемый процент ложноположительных срабатываний — особенно в высоконагруженных системах с интенсивным чтением, где критически важно избежать дорогостоящих операций поиска.
Фильтр Блума гарантирует отсутствие ложноотрицательных результатов, то есть если он сообщает, что элемента нет в множестве, то этого элемента действительно там нет.
Новый — ещё не проверен сообществом
Вы