关于Bernstein哈希函数

haoyu01 2010-06-12 06:37:52
最近写代码,需要自己写hash函数,在网上查到了如下代码:

public static int bernstein(String key)
{
int hash = 0;
int i;
for (i=0; i<key.length(); ++i) hash = 33*hash + key.charAt(i);
return hash;
}

就是不明白为什么要用33或者其他的质数才能得到好的结果~~

哪位大哥能帮忙解释一下吗?
...全文
111 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
AlanBruce 2010-06-12
  • 打赏
  • 举报
回复
UP


UP

69,381

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧