This repository contains an implementation of a Bloom Filter in Go. A Bloom Filter is a probabilistic data structure used to test whether an element is a member of a set. It is particularly useful for tasks where checking a key exist in a collection without sacrificing memory.
- Insertion: Add elements to the Bloom Filter.
- Lookup: Check if an element is likely to be in the set.
- False Positive Rate: The probability of a false positive (indicating an element is in the set when it is not).
- Memory Usage: The Bloom Filter uses a fixed amount of memory, regardless of the number of elements it contains.
- Hash Functions: You can choose different hash functions to customize the behavior of the Bloom Filter. Supports FNV and Murmur hash.
- Hash Functions: The Bloom Filter uses multiple hash functions to map elements to the bits in the filter.
- Bit Manipulation: The filter is represented as an array of bits. Each hash function maps an element to a specific bit in the array.