本篇文章主要介绍哈希表的一些术语介绍和构造哈希函数的方法和处理冲突的方法以及查找方法。百度百科解释
1.哈希表:根据设定的哈希函数H(key)和处理冲突的方法把一组关键字映像到一个有限的连续地址集上,并以关键字在地址集中的“像”作为记录在表中的存储位置,这种表便称为哈希表。
2.上述映像过程称为哈希造表或散列,所得存储位置称为哈希地址或散列地址。
3.构造哈希函数的方法:(一个“好”的哈希函数可以减少冲突,但是冲突是不可以避免的)
(1)直接定址法:取关键字或关键字的某一线性函数为哈希地址。
(2)数字分析法:可以取关键字的若干数位组成哈希地址。
(3)平方取中法:取关键字平方后的中间几位为哈希地址。
(4)折叠法:将关键字分割成位数相同的几部分(最后一部分的位数可以不同),然后取这几部分的叠加和(舍去最高位的进位)做为哈希函数。
(5)除留余数法:取关键字被某个不大于哈希表表长m的数p除后所得余数为哈希地址。这是一种简单,也是最常用的构造哈希函数的方法。
(6)随机数法:选择一个随机函数,取关键字的随机函数值为它的哈希地址。
在实际的工作中需视不同的情况采用不同的哈希函数。通常考虑的因素有:
(1)计算哈希函数所