Skip to content

The implementations of the Bloom filter (Double Hashing, Triple Hashing, Enhanced Double Hashing).

License

Notifications You must be signed in to change notification settings

DahDev/BloomFilter-Java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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");