解决hash冲突的方式

2017-09-22  本文已影响0人  dazdingos

1、开放寻址法

1.1线性探测法(ThreadLocalMap):当遇到hash冲突时,往后移查找可以存放该元素的位置。

1.2线性补偿探测法:hash = (hash+1)%m改为 hash =(hash+Q)%m,m,q互质。

1.3伪随机探测:hash = (hash+k)%m

缺点:1.容易造成堆聚现象,添加元素越多,堆聚现象越严重。 

           2.删除元素特别困难,当位置为空时,无法判断元素的位置。

2 链表法 hashmap

缺点:耗费空间

3 再散列

4建立公共溢出区

上一篇 下一篇

猜你喜欢

热点阅读