解决hash冲突的方式

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建立公共溢出区

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容