查一个真的加过的
8 位的布隆过滤器,两个哈希函数:k % 8 和 (k * 3) % 8。已经加进了 17、24、15。运行下面这段程序:
def h1(k):
return k % 8
def h2(k):
return (k * 3) % 8
def add(bits, k):
bits[h1(k)] = 1
bits[h2(k)] = 1
def check(bits, k):
if bits[h1(k)] == 1 and bits[h2(k)] == 1:
return "可能在"
return "肯定不在"
bits = [0] * 8
for k in [17, 24, 15]:
add(bits, k)
print(check(bits, 15))
全部评论