Skip to content

Latest commit

 

History

History
30 lines (20 loc) · 902 Bytes

README.md

File metadata and controls

30 lines (20 loc) · 902 Bytes

BloomFilter

A Bloom Filter is a space-efficient probabilistic data structure. Presented solution is implemented in Java. Python implementation is available here. It contains few methods for generating independent hash functions:

  • Double Hashing
  • Triple Hashing
  • Enhanced Double Hashing

All the approaches are described in "Bloom Filters in Probabilistic Verification" by Peter C. Dillinger and Panagiotis Manolios. The paper is available here.

Build

Just run the following command:

mvn install

Example

Using Bloom Filter with Double Hashing method:

BloomFilter<String> filter = new DoubleHashBloomFilter<String>(0.001, 10);
filter.add("Test");
filter.mightContains("Test");