A Bloom filter is a space-efficient probabilistic data structure designed for rapid set membership tests. It uses an array of m bits and k independent hash functions. To add an element, it is hashed by each function, and the corresponding bits are set to 1. A query hashes the element and checks if all k bits are 1; if any are 0, the element is definitively not in the set. If all are 1, the element is probably in the set, with a chance of a false positive. It cannot produce false negatives or delete elements.
