- linear hash ETS/DETS/mnesia 都使用了linear hash算法http://en.wikipedia.org/wiki/Linear_hashingredis dict 的实现类似于linear hash,渐进式rehash,保证操作是O(1)。不过除了每次操作时执行...
分类:
其他好文 时间:
2014-09-02 00:17:13
阅读次数:
271
直接默认hash不会冲突,其实很多现成的字符串hash算法是很优秀的。。。大概率可以水过。。。。然后从两端往中间搞一搞,特殊处理一下中间的情况就好。#include #include #include #include #include #include #include #include #inc...
分类:
其他好文 时间:
2014-09-01 22:40:53
阅读次数:
217
Bloom Filter是由Bloom在1970年提出的一种快速查找算法,通过多个hash算法来共同判断某个元素是否在某个集合内。可以用于网络爬虫的url重复过滤、垃圾邮件的过滤等等。
分类:
其他好文 时间:
2014-09-01 14:01:23
阅读次数:
238
search by hashing 解决顺序查找一一对比的问题,对存入数据的key取hashcode并存入array,查找数据时以key的hashcode作为索引返回数据。 hash collision 没有一种hash算法可以避免hash冲突,所以在发生冲突时要解...
分类:
其他好文 时间:
2014-08-26 00:37:45
阅读次数:
402
常见hash算法的原理散列表,它是基于快速存取的角度设计的,也是一种典型的“空间换时间”的做法。顾名思义,该数据结构可以理解为一个线性表,但是其中的元素不是紧密排列的,而是可能存在空隙。散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说...
分类:
其他好文 时间:
2014-08-22 22:27:39
阅读次数:
373
转自:http://blog.csdn.net/zxycode007/article/details/6999984散列表,它是基于快速存取的角度设计的,也是一种典型的“空间换时间”的做法。顾名思义,该数据结构可以理解为一个线性表,但是其中的元素不是紧密排列的,而是可能存在空隙。散列表(Hash t...
分类:
其他好文 时间:
2014-08-21 01:29:53
阅读次数:
365
Bloom Filter是由Bloom在1970年提出的一种快速查找算法,通过多个hash算法来共同判断某个元素是否在某个集合内。可以用于网络爬虫的url重复过滤、垃圾邮件的过滤等等。
它相比hash容器的一个优势就是,不需要存储元素的实际数据到容器中去来一个个的比较是否存在。
只需要对应的位段来标记是否存在就行了,所以想当节省内存,特别适合海量的数据处理。并且由于省去了存储元素和比较...
分类:
其他好文 时间:
2014-08-18 18:37:02
阅读次数:
339
哈希(Hash)算法就是单向散列算法,它把某个较大的集合P映射到另一个较小的集合Q中。数学原理听起来很抽象,在网上找到一个很生动的描述。我们有很多的小猪,每个的体重都不一样,假设体重分布比较平均(我们考虑到公斤级别),我们按照体重来分,划分成100个小猪圈。 然后把每个小猪,按照体重赶进各自的猪圈里,记录档案。如果我们要精确找到某个小猪怎么办呢?我们需要每个猪圈,每个小猪的比对吗? 当然不需要了。...
分类:
其他好文 时间:
2014-08-17 13:09:22
阅读次数:
218
1、算法概述数据摘要算法是密码学算法中非常重要的一个分支,它通过对所有数据提取指纹信息以实现数据签名、数据完整性校验等功能,由于其不可逆性,有时候会被用做敏感信息的加密。数据摘要算法也被称为哈希(Hash)算法或散列算法。1.1 CRC8、CRC16、CRC32CRC(Cyclic Redundan...
分类:
其他好文 时间:
2014-08-13 18:23:36
阅读次数:
281
http://poj.org/problem?id=3690
UVA还有一道也是这样的题,LRJ给的算法是AC自动机----我还没写过,今天用HASH搞了这道题
思路很清晰,但是处理起来还因为HASH函数写混WA了几次。。。
文本矩阵n*m T个匹配矩阵p*q
思路:
1、把每一行处理出长为q的hash值
2、对于1中得到的p个哈希值在算一次哈希,这样就把一个矩阵用一个hash值...
分类:
其他好文 时间:
2014-08-11 17:49:02
阅读次数:
205