哈希算法将任意长度的二进制值映射为较短的长度固定的二进制。
哈希算法即散列函数,是一种单向密码体制,是一个从明文到密文的不可逆的加密过程,输出数据长度固定。
1.选择散列函数时,考虑主要因素:1.选择易于计算的散列函数 2.最小化冲突发生的次数
2.构造散列函数常见方法:1.平方取中法 2.除留取余法H(k)=key%p(p确定空间大小)3.随机数法H(k)=Random(k)
3.处理冲突:1.开放定址法 (线性探测 h=(H(key)+d)%m)2.链地址法
哈希表根据设定的哈希函数H(key)和处理冲突方法将一组关键字映像到有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,称为哈希表或散列,所得存储位置称为哈希地址或散列地址。
散列法性能分析:装填因子=表中填入的记录数/哈希表的长度