一、散列(哈希)函数设计方法
1. 折叠法
折叠法设计散列函数的基本步骤:
- 将数据项按照位数分为若干段;
- 将几段数字相加;
- 对散列表大小求余,得到散列值。
例如:对于电话号码62767255,可以两位两位分为4段(62、76、72、55),相加(62+76+72+55=265),散列表包括11个槽,那么就是265%11=1。所以, h ( 62767255 ) = 1 h(62767255)=1 h(62767255)=1。
有时候折叠法还会包括一个隔数反转的步骤。比如(62、76、72、55)隔数反转为(62、67、72、55),再累加(62+67+72+55=256),对11求余,(256%11=3),所以 h