您的位置:首页 > 其它

散列函数之处理散列冲突方法

2015-09-16 09:53 197 查看
1.开放定址法

所谓开发定址法就是一旦发生了冲突,就去寻找下一个空的散列地址,只要散列表足够大,空的散列地址总能找到,并将记录存入。

它的公式是:,这种也称线性探测法。可能一开始学的同学看到di不知道怎么回事,其实这个di就是当遇到冲突时是要加的数字,到底怎么加呢?道理很简单,冲突时,冲突一次就加1再计算fi,如果还冲突那就试下加2,一直到不冲突为止。

当时,被称为二次探测法,道理同上

当为随机数时称为随机探测法,道理也同上。

2.再散列函数法

公式:

这里的就是不同的散列函数,你可以把我们前面说的什么除留余数、折叠、平方取中全部用上。每当发生散列地址冲突时,就换一个散列函数计算, 总会有一个可以找到把冲突解决掉的方法。这种方法能够使得能够使得关键字不产生聚焦,当然,相应地也增加了计算时间

3.链地址法

4.公共溢出区法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  散列函数