哈希碰撞的解决办法

哈希碰撞的解决办法

哈希碰撞指的是两个不同的key经过哈希后得到的数值是一样的,就产生了冲突或者碰撞

开放地址法

基本思想:当发生地址冲突时,按照某种方法继续探测哈希表中的其他存储单元,直到找到空位置为止

简单的做法是:在遭遇到哈希冲突时沿着索引往后找到第一个空的位置

再哈希法

基本思想:在遭遇到哈希后,使用第二个、第三个......哈希算法求取一个新的位置,再次寻址

链表法

基本思想:哈希数组中每一格都是一个链表,在遇到哈希冲突的情况下将冲突的值继续插入到链表中即可

常用的算法就是链表法,比如:redis的字典、go的map实现

你可能感兴趣的:(哈希碰撞的解决办法)