Advertisement

布隆过滤器采用 C++ 实现

阅读量:

布隆过滤器

  • 布隆过滤器的诞生背景
      • 布隆过滤器的基本定义
      • 哈希函数的应用方式与布隆过滤器的存储规模
    • 位图的编码实现

    • 构建布隆过滤器

      • Set接口的使用方法
      • Test接口的功能特性
      • 布隆过滤器的数据删除机制
      • 布隆过滤器的优势特点
      • 布隆过滤器的局限性
    • 哈希函数的划分策略

布隆过滤器的提出与原理

在日常使用新闻客户端浏览资讯的过程中,系统会持续向用户推送新的内容,而每次推荐时都需要排除用户已阅读过的信息。由此引发了一个关键问题:新闻推荐系统如何实现内容推送的去重功能?通常的做法是,服务器端保存用户浏览的所有历史记录,当系统进行内容推荐时,会从每位用户的历史记录中进行筛选,剔除已存在的条目。那么,如何高效地完成这一查找过程呢?

  1. 采用哈希表来存储用户的浏览记录,其弊端在于占用较大的存储空间
  2. 使用位图来保存用户的浏览记录,其局限性在于无法有效处理哈希冲突
  3. 将哈希算法与位图技术相结合,从而形成布隆过滤器

布隆过滤器原理与应用

布隆过滤器作为一种由布隆于1970年提出的数据结构,具有紧凑且巧妙的设计特点,属于概率型结构。其主要优势在于能够高效完成数据的插入与查询操作,并可用于判断“某项数据一定不存在或可能存在于集合中”

全部评论 (0)

还没有任何评论哟~