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-Python

Repository files navigation

BloomFilter

A Bloom Filter is a space-efficient probabilistic data structure. Presented solution is implemented in Python. Java 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.

Pre-requisites

Just run the following command:

pip3 install -r requirements.txt

Example

Using Bloom Filter with Double Hashing method:

filter = DoubleHashBloomFilter(0.001, 10)
filter.add("Test")
filter.might_contains("Test")

About

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages