Spaces:
Sleeping
Sleeping
File size: 709 Bytes
daea7f9 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #ifndef BLOOM_FILTER_H
#define BLOOM_FILTER_H
#include <vector>
#include <random>
#include <cmath>
#include <cstddef>
class BloomFilter
{
private:
size_t numPlanes; // Tổng số hyperplanes
size_t dimension; // Số chiều của feature vector
size_t k; // Số hash values (Bloom filter size)
std::vector<std::vector<double>> randomHyperplanes;
void generateRandomHyperplanes(); // Sinh ngẫu nhiên hyperplanes
public:
BloomFilter(size_t numPlanes, size_t dimension, size_t k);
// Sinh ra k hashValue, mỗi cái là 1 nhóm bit
std::vector<size_t> hashFunction(const std::vector<double> &featureVector);
};
#endif // BLOOM_FILTER_H |