哈希冲突的解决方法

1.拉链法------即数组加链表的数据结构解决地址冲突,Java中HashTable和HashMap用的就是用的这种冲突解决方法

2.开地址法(不建立链表)------按照给定探测序列,依次查找key能插入的位置。根据生成的探测序列的不同,可以有:线性探测法、和二次探测法。

线性探查法的序列记为:

h(i)=(h(key)+i) mod M  容易造成元素连成一片,从而使得探查次数增加,影响搜索效率


二次探查法,采用下列循环探测序列:

h(2i-1)=(h(key)+i^2) mod M

h(2i)=(h(key)-i^2) mod M    二次探查能消除基本聚集,但是探查序列是基位置的序列,会有二级聚集问题


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值