说明冲突解决策略的优缺点

下面解释了一些冲突解决技术的优缺点 -

单独的链式散列

单独链接是一种散列技术,其中有一个列表来处理冲突。所以在同一个位置有很多元素,它们在一个列表中。序列保存在一个链表中。

单独链式散列的优点如下 -

  • 单独的链接技术对表的大小不敏感。

  • 想法和实现都很简单。

单独链接散列的缺点如下 -

  • 键在单独的链接中不是均匀分布的。

  • 单独的链接可能会导致表中出现空白。

  • 职位列表可能很长。

线性探测

线性探测是一种简单的冲突解决技术,用于解决散列表中的冲突,散列表是用于维护散列表中值集合的数据结构。如果键值的位置发生冲突,则线性探测技术将下一个可用空间分配给该值。

线性探测的优点如下 -

  • 线性探测需要非常少的内存。

  • 它不那么复杂并且更容易实现。

线性探测的缺点如下 -

  • 线性探测会导致一种称为“主要聚类”的场景,其中散列表中有大块的被占用单元。

  • 线性探测中的值趋于成簇,这使得探测序列更长和更长。

二次探测

二次探测也是一种冲突解决机制,它接收由散列函数生成的初始散列,并继续添加来自生成的函数的任意二次多项式的连续值,直到找到放置值的空槽。

二次探测的优点如下 -

  • Quadratic probing 不太可能出现primary clustering的问题,而且比Double Hashing更容易实现。

二次探测的缺点如下 -

  • 二次探测具有二次聚类。当 2 个键散列到同一位置时,就会发生这种情况,它们具有相同的探测序列。因此,在进行插入之前可能需要多次尝试。

  • 此外,探测序列不会探测表中的所有位置。

双哈希

当要搜索的两个不同值产生相同的散列键时,双散列也是一种冲突解决技术。

它使用由散列函数生成的一个散列值作为起点,然后将位置增加一个间隔,该间隔是使用第二个独立散列函数确定的。因此这里有 2 个不同的哈希函数。

双散列的优点如下 -

  • 双散列最终克服了聚类问题。

双哈希的缺点如下:

  • 双散列比任何其他散列都更难实现。

  • 双重散列可能导致颠簸。

以上是 说明冲突解决策略的优缺点 的全部内容, 来源链接: utcz.com/z/357883.html

回到顶部