ЧТО ТАКОЕ ФИЛЬТР БЛУМА PHP
Фильтр Блума - это вероятностный алгоритм фильтрации данных, который используется для быстрого определения того, принадлежит ли элемент множеству или нет. Суть алгоритма заключается в использовании нескольких хеш-функций для определения места в фильтре для каждого входного элемента. Последующий поиск производится по этим местам. Если все места заняты, то элемент уже находится в множестве. Если же хотя бы одно место не занято, элемент считается отсутствующим в множестве.
В PHP фильтр Блума можно реализовать с помощью библиотеки BloomFilter
. Для этого необходимо добавить следующую строку в начале кода:
use BloomFilter\BloomFilter;
Затем создать объект фильтра:
$filter = new BloomFilter($size, $hashCount);
Где $size
- размер фильтра, а $hashCount
- количество хеш-функций.
Добавление элемента в фильтр осуществляется следующим образом:
$filter->add('example');
Проверка наличия элемента в фильтре:
$isPresent = $filter->has('example');
Значение $isPresent
будет равно true
, если элемент уже находится в фильтре, и false
, если он отсутствует.
Почему PHP это УЖАСНЫЙ язык программирования?
7 ошибок при изучении Php
НТМL-форма и ее обработчик на PHP - Базовый курс PHP-7
Фильтр Блюма и count-min sketch
Как устроен PHP?
АиСД S01E15. Идеальное хеширование, хеширование кукушки, фильтр Блума
Почему все ненавидят PHP?
Лекция 7: Фильтры Блума (часть I)