hash冲突解决方法总结

hash冲突解决办法

                            -------------------主要有三种

  1. 开放地址法
  2. 链地址法
  3. 再哈希法

    附加:公共溢出区法


1.开放地址法

    思想就是,按照一定策略,重新在数组中找位置,直到找到空位为止;(注:所有元素都在数组中)

    细分为三种策略:

    1.线性探查策略  探查序列为1,2,3...

    2.平方探查策略 探查序列为+-1平方,+-2平方,...

    3.伪随机探查序列 探查序列为伪随机序列

2.链地址法

    思想就是,hash相同的元素,用一个链表来维护,这样对应多个链表;

3.再哈希法

     思想就是,通过一个哈希函数序列来依次探查空位冲突就用下一个哈希函数。(?如果所有哈希函数用完了仍未找到空位怎么办?)

猜你喜欢

转载自blog.csdn.net/qq_32720539/article/details/79615823