哈希冲突是指hash出来的地址被其他元素所占用;
解决的方法
1.链地址法
解决的思路就是当出现冲突的时候将冲突的元素加入当前的链表之中
2.开放地址法
开放地址法也称之为再散列。
思路:如果映射的地址被占用了,在哈希函数值的基础上加上指定数值,这样就可以把冲突的地址给错开,然后重新开辟新的地址用来存储。根据增量值的不同,分为线性探测再散列和二次探测再散列
3.再哈希法
这种方法就是构造多个不同的哈希函数,当哈希地址Hi=RH1(Key)发生冲突时,再计算Hi=RH2(Key)…直到哈希不冲突,这样的方法增加了计算的时间。
4.建立公共溢区
就是哈希表分成了两个表:一个是基础表,另外一个则是溢出表,凡是与基础表发生冲突的数据都会被添加到溢出表。
什么是哈希冲突?如何解决?
最新推荐文章于 2024-10-07 20:44:42 发布