hash冲突解决办法
-------------------主要有三种
- 开放地址法
- 链地址法
- 再哈希法
附加:公共溢出区法
1.开放地址法
思想就是,按照一定策略,重新在数组中找位置,直到找到空位为止;(注:所有元素都在数组中)
细分为三种策略:
1.线性探查策略 探查序列为1,2,3...
2.平方探查策略 探查序列为+-1平方,+-2平方,...
3.伪随机探查序列 探查序列为伪随机序列
2.链地址法
思想就是,hash相同的元素,用一个链表来维护,这样对应多个链表;
3.再哈希法
思想就是,通过一个哈希函数序列来依次探查空位冲突就用下一个哈希函数。(?如果所有哈希函数用完了仍未找到空位怎么办?)