Hash 分布均衡算法

时间:2024-01-13 17:10:02

1.移位实现

      public static int GetIndex(string str, int count)
{
int hash = str.Aggregate(, (current, c) => (current << ) - current + c);
if (hash < )
{
hash = Math.Abs(hash);
}
return hash % count;
}

2.GetHashCode()

      public static int GetIndex2(string str, int count)
{
int hash =str.GetHashCode();
if (hash < )
{
hash = Math.Abs(hash);
}
return hash % count;
}