考虑因素
- 计算简单,以便提高转换速度;
- 关键词对应的地址空间分布均匀,以尽量减少冲突。
数字关键词的散列函数构造
直接定址法
除留余数法
数字分析法
折叠法
平方取中法
字符关键词的散列函数构造
使用秦九韶算法
Index Hash ( const char *Key, int TableSize )
{
unsigned int h = 0; /* 散列函数值,初始化为0 */
while ( *Key != ‘ ’) /* 位移映射 */
h = ( h << 5 ) + *Key++;
return h % TableSize;
}