数据结构之查找-哈希查找
目录 哈希法(计算式查找) 哈希函数的构造方法 处理冲突的方法 哈希表的查找过程 哈希法(计算式查找) 哈希法 又称散列法、杂凑发、关键字地址计算法,相应的表成为哈希表、散列表等。 哈希法的基本思想 :首先在元素的关键字k和元素的存储位置p之间建立一个对应关系H,是的p=H(k),H成为哈希函数。 五个因素 :①计算哈希函数所需的时间。②关键字长度。③哈希表的大小。④关键字分布情况。⑤记录查找的频率。 哈希函数的构造方法 构造哈希函数原则 :一是函数本身便于计算;二是计算出来的地址分布均匀。 1、 数字分析法 :事先要知道关键字集合,并且每个关键字的位数比哈希表的地址为数多时,可以从关键字中选出分布均匀的若干位构成哈希地址。 2、 平方取中法 :当无法确定关键字中那几位分布较均匀时,可以先求出关键字的平方值,然后取平方值中间的几位作为哈希地址。 3、 分段叠加法 :按哈希表地址为数将关键字分成位数相等的几部分,然后将这几部分相加,舍弃最高进位后的结果就是该关键字的哈希地址。 4、 除留余数法 :假设哈希表的长度为m,p为小于等于m的最大素数,则哈希函数为其中,%的模p为取余运算。 5、 伪随机数法 :采用一个为随机函数作为哈希函数,即H(key)=random(key) 处理冲突的方法 通过构造性能良好的哈希函数,可以减少冲突,但一般不节能完全避免冲突