第五章查找绪论.ppt

哈希函数的构造方法 实际造表时,采用何种构造哈希函数的方法取决于建表的关键字集合的情况(包括关键字的范围和形态),总的原则是使产生冲突的可能性降到尽可能地小。 实际造表时,考虑的因素: 计算哈希函数所需时间; 关键字的长度; 哈希表的大小; 关键字的分布情况; 记录的查找频率 处理冲突的方法 假设哈希表的地址集为0~(n-1),冲突是指由关键字得到的哈希地址为j(0≤j≤n-1)的位置上已存在记录,则处理冲突就是为该关键字的记录找到另一个“空”的哈希地址。 处理冲突的实际含义是:为产生冲突的地址寻找下一个哈希地址。 在处理冲突的过程中可能得到一个地址序列Hi(i=1,2,…,k,Hi∈[0,…,n-1])。即在处理哈希地址的冲突时,若得到的另外一个哈希地址Hi任然发生冲突,则再求下一个地址H2,若H2任然冲突,再求得H3。依次类推,直至Hk不发生冲突为止,则Hk为记录在表中的地址。 解决冲突的方法又称为溢出处理技术。因为任一种散列函数不能避免产生冲突,因此选择好的解决冲突溢出方法十分重要 处理冲突的方法 1.?开放定址法 为产生冲突的地址H(key)求得一个地址序列: H0, H1, H2, …, Hs 1≤s≤m-1 其中:H0 = H(key)

文档评论(0)

1亿VIP精品文档

相关文档