乘法散列法

按照算法导论的说法,就是利用下公式就行了。

h(k)=floor(m*(kA%1));

据研究发现 A 取(sqrt(5)-1)/2最好。 

所以代码实现就相当简单了:

int hash_fun(int key)
{
	return (2<<4)*(key*A-floor(key*A));
}
在这里只是学习罢了!

posted @ 2010-12-02 19:41  hailong  阅读(609)  评论(0编辑  收藏  举报