正在加载图片...
2、除留余数法 Hash(key)= key mod n(m是一个整数) 特点:以关键码除以p的余数作为哈希地址。 关键:如何选取合适的m? 技巧:若设计的哈希表长为m,则一般取pm且为质数 (也可以是合数,但不能包含小于20的质因子)。 3、乘余取整法 (Akey mod I 就是取A*key的小 Hash(key)=LB( A*key mod1)」气数部分 (A、B均为常数,且0<A<1,B为整数) 特点:以关键码key乘以A,取其小数部分,然后 再放大B倍并取整,作为哈希地址。 例:欲以学号最后两位作为地址,则哈希函数应为 其实也可以用法2实现:H(k)=k%1009 Hash(key)=  B*( A*key mod 1 )  (A、B均为常数,且0<A<1,B为整数) 特点:以关键码key乘以A,取其小数部分,然后 再放大B倍并取整,作为哈希地址。 Hash(key)=key mod m (m是一个整数) 特点:以关键码除以p的余数作为哈希地址。 关键:如何选取合适的m? 技巧:若设计的哈希表长为m,则一般取p≤m且为质数 (也可以是合数,但不能包含小于20的质因子)。 3、乘余取整法 2、除留余数法 (A*key mod 1) 就是取A*key 的小 数部分 例:欲以学号最后两位作为地址,则哈希函数应为: H(k)=100*(0.01*k % 1 ) 其实也可以用法2实现: H(k)=k % 100
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有