Chinaunix

标题: 问一个字符串hash函数的问题,有技术含量! [打印本页]

作者: 侧面bt    时间: 2010-06-24 11:27
标题: 问一个字符串hash函数的问题,有技术含量!
现在的一些字符串hash函数像ELF_hash,smdb_hash等都是32位的,也就是hash后的最大值是unsinged int的范围,由于现在数据量非常大,由200亿之多,所以hash之后的总数超出unsinged int的范围了,请问怎么修改这些hash函数,或者有没有其它方法,谢谢了!
作者: ljysyn    时间: 2010-06-24 11:34
hash肯定有冲突了,解决冲突就可以了
作者: andygxh    时间: 2010-06-24 13:05
提示: 作者被禁止或删除 内容自动屏蔽
作者: openspace    时间: 2010-06-25 15:01
md5
sha-1
搜索里面有个bloom-filter算法,LZ可以借鉴一下
作者: zhy-linux    时间: 2010-06-27 12:20
hash并不能保证没有重复,hash链表
作者: jmss99    时间: 2010-12-05 16:57
提示: 作者被禁止或删除 内容自动屏蔽
作者: sithui    时间: 2010-12-06 11:43
先估计你的数据分布,然后再考虑用哪种算法,否则你会死的很惨的。
作者: duanjigang    时间: 2010-12-06 13:22
先估计你的数据分布,然后再考虑用哪种算法,否则你会死的很惨的。
sithui 发表于 2010-12-06 11:43



    有道理,还是先分析下数据的分布特点,要不然冲突链的查找会极大降低效率的,毕竟,很完美的哈希函数不是那么好设计的。:wink:




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2