哈希算法研究

一、Java的哈希算法
public static int JavaHash(string key)
{
      int hashCode = 0;
      for (int i = 0; i < key.Length; i++)
      {
           hashCode = 31 * hashCode + key[i];
       }
       return hashCode;
}
 
转换为数学公式
h(m) = h-1 p + m (这里p = 31,h0 = 0,m从key的字符里顺序取值)
转换为
            |n|
h(m) = ( S   m i p (i-1) ) + h0pn          其中h0是hashCode的初始值,n是字符长度,m是顺序字符值,p是常量
            i=1
 
参考文章:

posted on 2008-10-08 00:23  yurow  阅读(1086)  评论(0编辑  收藏  举报

导航