【发布时间】:2014-11-05 02:24:03
【问题描述】:
这个哈希函数有什么问题?具体来说,传入N=127会发生什么?
int hash3(char *k, int N)
{
char *c; int h = 0;
for (c = k; *c != '\0'; c++) {
h = h | *c;
}
return (h % N);
}
这是在练习考试中提出的问题(遗憾的是没有解决方案)。据我了解,该函数使用按位或将字符串转换为整数,并将其放在大小为 N 的表中,但我真的不知道它为什么会出错?提前致谢。
【问题讨论】:
-
尝试输入一些长句,看看会返回什么。