将一个字符串映射到一个hash值可以用来查看某一个字符串是否出现过,非常的方便快捷,在各种不同的字符串的hash算法中性能最好的通常比较简洁。下面给出一个BKDR算法:
unsigned int BKDRHash(char *str)
{
unsigned int seed = 131; // 31 131 1313 13131 131313 etc..
unsigned int hash = 0;
while (*str)
{
hash = hash * seed + (*str++);
}
return (hash & 0x7FFFFFFF);
}
通常会用到