哈希 hash算法
2016-07-24 23:05
288 查看
先献上代码模板:
const int INF=10000019;
unsigned int BKDHash(char *str)
{
unsigned int seed=131;
unsigned int hash1=0;
while(*str)
{
hash1=hash1*seed+(*str++);
}
return hash1%INF;
}模可以用&x1fffff
应用1:字符串
Rabin-Karp:
出现的字符有k个用k进制数 如: acm=0*26^2+2*26^1+12;
长度不超过13时用longlong作键值类型 (用乘法冲突减少)
const int INF=10000019;
unsigned int BKDHash(char *str)
{
unsigned int seed=131;
unsigned int hash1=0;
while(*str)
{
hash1=hash1*seed+(*str++);
}
return hash1%INF;
}模可以用&x1fffff
应用1:字符串
Rabin-Karp:
出现的字符有k个用k进制数 如: acm=0*26^2+2*26^1+12;
长度不超过13时用longlong作键值类型 (用乘法冲突减少)
相关文章推荐
- c语言实现hashmap(转载)
- 书评:《算法之美( Algorithms to Live By )》
- 动易2006序列号破解算法公布
- C#递归算法之分而治之策略
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- C#算法之大牛生小牛的问题高效解决方法
- Ruby中Hash的11个问题解答
- C#算法函数:获取一个字符串中的最大长度的数字
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C#实现的算24点游戏算法实例分析
- 经典排序算法之冒泡排序(Bubble sort)代码
- Ruby简明教程之数组和Hash介绍
- c语言实现的带通配符匹配算法
- 浅析STL中的常用算法
- 算法之排列算法与组合算法详解