看了Wiki里面的一个hash代码,试了一下发现很容易发生碰撞例如"daming" 和 "kuking"这两个的Hash值就是一样的这个是怎么回事情?
unsigned long 『More』
我觉得单个冲突的案例说明不了什么太多问题,尤其这个 hash 函数的目标是计算速度。有更详尽的测试吗?"比如一个比较大规模的字典里冲突的概 『More』 - 回复 | (1047) | 云风 | 2006-04-07 02:10:18
没记错的话,lua使用的是这个吧? - 回复 | (1062) | dawndu | 2006-04-15 10:50:07
lua 用的正是这个,wiki 上标明了 :D - 回复 | (1063) | 云风 | 2006-04-15 11:05:55
谢谢回复, 后来试了好几个hash算法, 发现冲突的概率和这个算法差不多.测试了5个hash算法(都是返回一个32位的整形), 一共133557 个字符串,冲突的字符串个数分别为9275 9268 9501 9268 9281其中9275就是你这个算法的结果,时间上面的确是你这个最快
wiki上面我找了好长时间都没有找到哪里可以留言,下次会直接在wiki上留言的