拉链法处理散列冲突

 时间:2024-10-19 02:51:52

1、我们通过一个例子来介绍拉链法。现在我们看下面这一个关键码集。它的散列表长度为11.

拉链法处理散列冲突

2、我们将所有的关键码对11取余。如下图所示。

拉链法处理散列冲突

3、我们准备如下图所示的散列表。

拉链法处理散列冲突

4、根据取余的值,将关键码放在相应的位置上。取余的值是几,就放在第几的位置上。比如关键码22,取余的值是0,我们就将22挂在第0个位置上。11取余的值也是0,我们直接挂在22后面即可。

拉链法处理散列冲突

5、接下来我们看拉链法查找成功时的平均查找长度。我们只需要将第一列被查找关键码的个数乘1,第二列被查找的关键码的个数乘2,两个值相加然后除以14(这里的14是关键码个数)。

拉链法处理散列冲突

6、比如我们这个例子,第一列被查找个数是11(没有挂关键码的位置也需要查找),第二列被查找个数是5,将11和5相加再除以14,就得到了成功查找的平均查找长度。

拉链法处理散列冲突

7、那么查找不成功的平均查找长度呢?我们需要得到每一个位置上的关键码个数然后将它们相加,再除以11,这里的11是散列表长度。

拉链法处理散列冲突

8、比如我们这里第0位上有2个元素,第1个位置上有1个元素,第2个位置上有0个元素,依次类推。将所得个数相加除以11就得到了不成功的平均查找长度。

拉链法处理散列冲突
  • 如何利用行列式计算二元线性方程组
  • C语言中的strcat函数怎样使用?
  • 树的度和结点数的关系是什么
  • python 列表转字典
  • 无穷级数常见6个公式是什么
  • 热门搜索
    汽车胎压表怎么看 老年斑怎么办 曲靖旅游 湖北大学知行学院怎么样 北欧旅游 怀孕可以吃螃蟹吗 怀孕了可以同房吗 哪些水果可以减肥 贷款房子怎么卖 乐府诗的特点