zoukankan      html  css  js  c++  java
  • 布隆过滤器

    判定一个字符串是否存在

    1.使用word文档时,判断某个单词是否拼写正确

    2.网络爬虫程序,不去爬相同url页面

    3.垃圾邮件过滤算法如何设计

    4.缓存崩溃后造成的缓存击穿

    5.一个嫌疑人的名字是否已经在嫌疑名单上

    布隆过滤器原理:当一个元素被加入集合时,通过K个Hash函数将这个元素映射成一个位数组中的K个点,把它们置为1.

    检索时,我们只要看看这些点是不是都是1就(大约)知道集合中有没有它了。如果这些点有任何一个0,则被检元素一定不在,

    如果都是1,则被检元素很可能在。

    Hash函数

    常见的应用比较广的hash函数有MD5,SHA1,SHA256,一般用于信息安全方面,比如签名认证和加密等。 比如我们传输文件时习惯用对原文件内容计算它的MD5值,生成128 bit的整数,通常我们说的32位MD5值, 是转换为HEX格式后的32个字符

    在布隆过滤器算法中,不能因为有碰撞的可能,即添加一个元素后,如果设置了k个bit为1,且某个bit位碰撞后,我们删除该元素时恰恰设置该bit位为0,

    则碰撞的元素无法判断,那么不能在布隆过滤器中删除元素

  • 相关阅读:
    python mysql操作
    常用sql语句总结
    python 正则表达式总结
    hdu 6199 dp
    hdu 6212 区间dp
    hdu 6214 割边最少的最小割
    2017沈阳网络赛G XOR 分块(分类讨论sqrt)
    HDU 6166 二进制分组
    hdu 6194 后缀数组
    hdu 6201 树分治
  • 原文地址:https://www.cnblogs.com/Ryans-World/p/12301359.html
Copyright © 2011-2022 走看看