BKDRHASH是一种字符哈希算法
由一个字符串(比如:ad)得到其哈希值,为了减少碰撞,应该使该字符串中每个字符都参与哈希值计算,使其符合雪崩效应,也就是说即使改变字符串中的一个字节,也会对最终的哈希值造成较大的影响。我们直接想到的办法就是让字符串中的每个字符相加,得到其和SUM,让SUM作为哈希值,如SUM(ad)= a+d;可是根据ascii码表得知a(97)+d(100)=b(98)+c...
分类:
编程语言 时间:
2014-10-24 14:35:16
阅读次数:
161
题意: 给一个字符串,和m,l, 找出这样的子串: 长度为m*l, 由m个长度为l的串组成,每个串都不同。(s,size()
字符串hash典例。 这里用的是bkdrhash 法。也是最常用的冲突最少的一种。原理:把字符串和数值对应。这里用base=31(一般用质数),
先是扫一遍,处理处每个位子到结尾构成的串的hash值(倒过来的),然后长度为l的子串的haash值就好算了。
之后枚举开头...
分类:
其他好文 时间:
2014-09-19 17:45:45
阅读次数:
147
哈希(Hash)算法,即散列函数。它是一种单向密码体制,即它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。同时,哈希函数可以将任意长度的输入经过变化以后得到固定长度的输出。hash算法一般用于快速查找和加密。hash算法可以使用的哈希函数种类很多,处理冲突的方法也有开放定址、再哈希、...
分类:
其他好文 时间:
2014-09-11 19:02:02
阅读次数:
284
主要目标:寻找一个hash函数,高效的支持64位整数运算,使得在速度、空间等效率相对其它函数函数较高,以及内部运算时32位整数运算。测试了"RSHash","JSHash","PJWHash","ELFHash","BKDRHash","SDBMHash","DJBHash","DEKHash","...
分类:
其他好文 时间:
2014-08-07 00:38:27
阅读次数:
223
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4821
题意:给一个字符串,选m个长度为l的子串组成新的串,要求这m个子串互不相同,问有多少种组合。
字符串hash题目,以前没做过,做这道之前还用bkdrhash做了两道简单的题目,POJ1200和HDU1800。
用base数组记录乘了几个seed,base[i]表示seed^i,这个数组...
分类:
其他好文 时间:
2014-07-24 10:36:14
阅读次数:
244
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4821
题意:给出M和L,和一个字符串S。要求找出S的子串中长度为L*M,并且可以分成M段,每段长L,并且M段都不相同的子串个数。
思路:一道字符串哈希题。哈希的方法是BKDRHash,哈希中进制是31,131等素数,(我还以为这是我自己想出来的哈希方法,原来不是,而且进制也不是我选择的26,而是31这...
分类:
其他好文 时间:
2014-07-21 23:11:04
阅读次数:
226
常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对最后的函数值产生影响。另外还有以MD5和SHA1为代表的杂凑函数,这些函数几乎不可能找到碰撞。常用字符串哈希函数有BKDRHash,APHash,DJBHash,JSHash,R...
分类:
其他好文 时间:
2014-07-09 16:32:44
阅读次数:
132
Bloom filter的实现以及常用的hash函数
bloom filter利用时间换空间的思想,利用多个哈希函数,将一个元素的存在状态映射到多个bit中,特别是在网络环境中,BF具有广泛的用途,关键问题就是要减少false positive rate(可以设置参数来调节),扩展有 counting BF。这里选用的hash函数是表现较好的 BKDRHash , SDBMHash, D...
分类:
其他好文 时间:
2014-06-13 20:42:05
阅读次数:
412
字符串hash最高效的算法, 搜了一下,
原理是:字符串的字符集只有128个字符,所以把一个字符串当成128或更高进制的数字来看,当然是唯一的这里unsigned不需要考虑溢出的问题,
不过周神说:碰撞率很小是因为n阶多项式最多n个根. 也是有道理的.最后 hash & 0x7FFFFFFF 只是为...
分类:
其他好文 时间:
2014-05-15 16:53:27
阅读次数:
401
D. Match & Catch
可以用各种方法做,字符串hash,后缀数组,dp,拓展kmp,字典树。。。
字符串hash(模板)
http://blog.csdn.net/gdujian0119/article/details/6777239
BKDR Hash Function :
// BKDR Hash Function
unsigned int BKDRHash(c...
分类:
其他好文 时间:
2014-05-03 21:20:47
阅读次数:
282