• 平方探测法处理散列函数冲突


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

      设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次。此时插入全部完成。

       

       

  • 相关阅读:
    POJ 2823 Sliding Window & Luogu P1886 滑动窗口
    Luogu P2970 [USACO09DEC]自私的放牧
    Luogu P2922 秘密消息
    Luogu P3353 在你窗外闪耀的星星
    Luogu P2580 于是他错误的点名开始了
    Floyd详解
    高精度模板
    51Nod P1100 斜率最大
    洛谷——P1025 数的划分
    洛谷——P1063 能量项链
  • 原文地址:https://www.cnblogs.com/Mhang/p/9937565.html
Copyright © 2020-2023  润新知