数据结构解决哈希冲突方法回顾

Posted linsenli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构解决哈希冲突方法回顾相关的知识,希望对你有一定的参考价值。

1、开放定址法:

  Hi=(H(key)+di)% m

  其中H(key)为哈希函数,m 为表长,di称为增量序列。根据增量序列的取值方式不同,具体到下面三种散列方法:

  线性探测再散列:di=1,2,3,…,m-1

  二次探测再散列:di=1^2,-1^2,2^2,-2^2,…,k^2,-k^2 ( k<=m/2 )

  伪随机探测再散列:di=伪随机数序列

 

2、再哈希法:

  同时构造多个不同的哈希函数,当第一个哈希地址发生冲突的时候,用第二个哈希函数来计算……,直到冲突不再发生。

 

3、链地址法:

  相当于HashMap中还没到阀值前的链表散列。

 

4、建立一个公共溢出区:

  将哈希表分为基本表和溢出表两部分,凡是和基本表发生冲突的元素,一律放入溢出表。

以上是关于数据结构解决哈希冲突方法回顾的主要内容,如果未能解决你的问题,请参考以下文章

解决哈希冲突方法总结

Java集合哈希冲突及解决哈希冲突的4种方式

hash哈希冲突常用解决方法

哈希结构介绍及实现(线性探测)——闭散列解决哈希冲突

数据结构 | java中 哈希表及其冲突解决

哈希算法解决哈希冲突的方法