ds-kit-js - v1.1.0
    Preparing search index...

    Class BloomFilter

    Фильтр Блума — вероятностное множество, которое занимает очень мало памяти. mightContain никогда не даёт ложноотрицательных ответов («точно нет»), но с заданной вероятностью может дать ложноположительный («возможно, есть»). Удалять элементы нельзя. add/mightContain — O(k), k — число хэш-функций.

    const seen = new BloomFilter(10_000, 0.01);
    seen.add('https://example.com');
    seen.mightContain('https://example.com'); // true
    seen.mightContain('https://other.com'); // почти наверняка false
    Index
    • Parameters

      • expectedItems: number

        Ожидаемое количество элементов.

      • falsePositiveRate: number = 0.01

        Желаемая доля ложноположительных ответов, (0, 1).

      Returns BloomFilter

    • get count(): number

      Сколько раз вызывался add.

      Returns number

    • get bitCount(): number

      Размер битового массива.

      Returns number

    • get hashCount(): number

      Количество хэш-функций.

      Returns number

    • Parameters

      • item: string | number

      Returns this

    • false — элемента точно нет; true — элемент, вероятно, есть.

      Parameters

      • item: string | number

      Returns boolean

    • Оценка текущей вероятности ложноположительного ответа.

      Returns number