1、散列函数的构造方法:
1)直接定址法:Hash(key)=a*key+b
即取关键码的某个线性函数值为散列地址,这类函数的关键码与其散列地址是一一对应函数,不会产生冲突,但要求地址空间与关键码涉及的范围大小相同,因此,对于码值范围较大的关键码集合不适用。
2)除留余数法:Hash(key)=key%p
3)乘余取整法
4)数字分析法
5)平方取中法
6)折叠法
2、散列函数冲突解决:
1)开放定址法
2)拉链法
3)公共溢出区法
1、散列函数的构造方法:
1)直接定址法:Hash(key)=a*key+b
即取关键码的某个线性函数值为散列地址,这类函数的关键码与其散列地址是一一对应函数,不会产生冲突,但要求地址空间与关键码涉及的范围大小相同,因此,对于码值范围较大的关键码集合不适用。
2)除留余数法:Hash(key)=key%p
3)乘余取整法
4)数字分析法
5)平方取中法
6)折叠法
2、散列函数冲突解决:
1)开放定址法
2)拉链法
3)公共溢出区法