Hash算法汇总
本专栏收集各类Hash算法,从原理到实现(提供Java或C或C++实现)。本专栏通过文字描述和图解的方式对各个哈希算法进行描述,如布谷鸟哈希,布鲁姆哈希,可扩展布鲁姆哈希,计数型布鲁姆哈希,可扩展计数型布鲁姆哈希算法,跳房子哈希,孔雀鸟哈希,熵过滤器等一系列哈希算法。
丶丶路遥
这个作者很懒,什么都没留下…
展开
-
Counting Bloom Filter
介绍Bloom过滤器常被用作判断集合元素的从属关系,用来绕过对集合的遍历,加速集合的查找。然而,标准的Bloom过滤器使用一个比特向量来记录元素的从属情况,使得其无法直接支持元素的删除。本文将介绍一种Counting Bloom Filter,使用多个bit位来代替标准bloom过滤器中的一个bit位,从而可对每个槽位上映射的次数计数,使其可支持删除。实现方法插入:1、初始化空集(所有位置...原创 2019-08-14 11:20:55 · 488 阅读 · 0 评论 -
BloomFilter
介绍布鲁姆过滤器常用作对元素和集合的从属关系进行判定,用来绕过在集合中查找对应元素的过程。本文将介绍一种最简单的基于比特向量的布鲁姆过滤器,并提供Java代码。实现方法插入:1、初始化空集2、插入集合元素a,经过4个不同哈希函数映射到4个位置,将其置13、插入元素b操作同上4、插入元素c操作同上查询:1、查询元素c2、经过4个不同的哈希函数映射到4个不同的位置3、若发现有1...原创 2019-08-08 18:46:10 · 362 阅读 · 1 评论 -
词典快速匹配方案
介绍对于构造了几百万上千万的集合中,快速查找对应的元素是一种常见的应用场景,因此本文将探讨一种如何在一个大集合中快速查找对应元素的方法。查找方案哈希查找和字典树是两种高性能的查找方法。其中字典树使用最长前缀匹配法,其查找速度非常快,但由于更新时需要调整整个树,导致其更新速度较慢,因此字典树不适用于动态集合。而哈希查找解决了更新速度慢的问题,因此本文主要介绍基于哈希查找的词典匹配方法。本文将...原创 2019-10-04 21:16:35 · 1605 阅读 · 0 评论