哈希查找的第一步就是使用哈希函数将键映射成索引。这种映射函数就是哈希函数。如果有一个数组大小为M,那么就需要一个能够将任意键转换为该数组范围内的索引(0~M-1)的哈希函数。哈希函数需要易于计算并且能够均匀分布所有键。根据关键字的结构和分布的不同,可构造出许多不同的哈希函数。
在实际中,键并不一定都是数字,更有可能是字符串,还有可能是几个值的组合等。
1.整数
获取整数哈希值做常用的方法是使用除留余数法。即对于大小为素数M的数组,对于任意整数k,计算k除以M的余数。M一般取素数。
2.字符串
将字符串作为键的时候,我们也可以将它作为一个大的整数,采用除留余数法。也可以将组成字符串的每一个字符取值然后进行哈希。
参考