1
我正在實現一個BloomFilter,並且必須通過添加[0,N]元素並檢查過濾器是否包含(n,oo)元素來計算誤報數。我正在計算正確的誤報數量。在我的循環中,每次可能包含()都會告訴我,我的過濾器包含(n,oo)中的一個元素,我將其添加到誤報中。 但例如當我有16元的過濾器,我得到10個假陽性和假陽性的爲0Bloom Filter False Positives
率任何幫助,將不勝感激
for (int numNotInFilter =size+1; numNotInFilter<2*size; numNotInFilter++)
{
if (myBloom.possiblyContains((const uint8_t*)(&numNotInFilter), sizeof(int)))
{
numOfFalsePositives+=1.0;
}
}
double RateOfFalsePositives = (numOfFalsePositives)/((2 * size) - 1);
您是否期待'RateOfFalsePositives'在0和1之間?這是一個整數類型。 – aschepler
好的,我修正了這個問題。我的循環是否正確? –