zoukankan      html  css  js  c++  java
  • 平方探测法处理散列函数冲突

      平方探测法是一种较好的处理冲突的方法,可以避免出现“堆积”问题,它的缺点是不能探测到散列表上的所有单元,但至少能探测到一半单元。下面通过一个例子来理解:

      设Hash函数为 H( key ) = key mod 7,哈希表的地址空间为0,1,...,10,开始时哈希表为空,用平方探测法解决冲突,画出依次插入键值9,14,10,30,56,28后的哈希表和比较次数。

      1.插入键值9,9 mod 7 = 2 ,无冲突,插入,比较一次;

      

      2.插入键值14,14 mod 7 = 0,无冲突,插入,比较一次;

      

      3.插入键值10,10 mod 7 = 3,无冲突,插入,比较一次;

      

      4.插入键值30,30 mod 7 = 2,冲突,2+12=3,有冲突,2-12=1,无冲突插入,比较3次;

       

      5.插入键值56,56 mod 7 = 7,无冲突,插入,比较一次;

       

      6.插入键值28,28 mod 7 = 0,冲突,0+12=1,有冲突,0-12=-1,此时插入到地址10,如果等于-2就插入到地址9,比较次数3次。此时插入全部完成。

       

       

  • 相关阅读:
    8.26 Linux的目录机构与目录管理
    8.26 基础命令
    8.26 系统基础
    8.26 课程介绍
    8.21-23 awk
    8.20 数组与字符
    8.19 函数
    8.16 sed命令
    Linux操作系统--初级--Linux的目录结构与目录管理
    Linux操作系统--初级--基础命令
  • 原文地址:https://www.cnblogs.com/Mhang/p/9937565.html
Copyright © 2011-2022 走看看