avatar
h*o
1
我大致明白这段程序是把一个字符串 hash 成一个值。就是不知道这里的 31 和 7951
是 随便定的那, 还是由什么著名的算法规定的。求教:
static unsigned int bm_Hash(const void *key, unsigned int size1)
{
unsigned long hashval=0, hv;
unsigned char *s=(unsigned char *)key;
for (hashval = 0; (s != NULL) && (*s != '\0'); s++)
hashval = (*s) + 31*hashval;
hv = hashval*7951;
return (size1)?(hv % size1):0;
}
avatar
d*e
2
【 以下文字转载自 CS 讨论区 】
发信人: drburnie (专门爆料), 信区: CS
标 题: 问个问题
发信站: BBS 未名空间站 (Mon Mar 17 02:59:18 2008), 转信
CS本科硕士。目前在读统计硕士学位,学校很差,USnews上是见不到的。
现在还在做硕士时候的东西,Machine Learning。到目前为止做了两年多。发表了两篇
一般水平国际会议。有一篇IF 1.0左右的期刊,目前已经是under 2nd revision。
现在又一个机会转去EE大概30-40名的学校,做Medical Imaging。我没有太多拓扑和信
号处理的背景。需要一切重新再来。
我是继续读完统计的Master再申请CS的PhD继续做ML好呢,还是转校去做这个Medical
Imaging好?
avatar
T*9
3
我觉得可能是随便定的想搞随机值?
不是狠了解这个。。。

7951

【在 h**o 的大作中提到】
: 我大致明白这段程序是把一个字符串 hash 成一个值。就是不知道这里的 31 和 7951
: 是 随便定的那, 还是由什么著名的算法规定的。求教:
: static unsigned int bm_Hash(const void *key, unsigned int size1)
: {
: unsigned long hashval=0, hv;
: unsigned char *s=(unsigned char *)key;
: for (hashval = 0; (s != NULL) && (*s != '\0'); s++)
: hashval = (*s) + 31*hashval;
: hv = hashval*7951;
: return (size1)?(hv % size1):0;

avatar
g*g
4
估计都是质数,有兴趣可以去读AOCP

7951

【在 h**o 的大作中提到】
: 我大致明白这段程序是把一个字符串 hash 成一个值。就是不知道这里的 31 和 7951
: 是 随便定的那, 还是由什么著名的算法规定的。求教:
: static unsigned int bm_Hash(const void *key, unsigned int size1)
: {
: unsigned long hashval=0, hv;
: unsigned char *s=(unsigned char *)key;
: for (hashval = 0; (s != NULL) && (*s != '\0'); s++)
: hashval = (*s) + 31*hashval;
: hv = hashval*7951;
: return (size1)?(hv % size1):0;

avatar
k*f
5
人家都这么问,肯定不知道什么是AOCP
knuth的著作

【在 g*****g 的大作中提到】
: 估计都是质数,有兴趣可以去读AOCP
:
: 7951

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。