Posts Tagged ‘Hash’

November 17, 2009

  对最简单的SDBMHash(char*)做了一个简单的测试。随机生成200个长度为31的字符串,利用SDBM得到一个Hash值,然后用直接取余法插入长度为113的HashSet,为简单起见,只是将HashSet对应的位置进行加一。

1
2
3
4
5
6
7
8
9
10
11
// SDBM Hash Function
unsigned int
SDBMHash (char *str)
{
    unsigned int hash = 0;
    while (*str)
      {
	  hash = (*str++) + (hash << 6) + (hash << 16) - hash;
      }
    return (hash & 0x7FFFFFFF);
}
Tags: ,.
Page 1 of 11