数据结构课件Ch9_哈希表.pptVIP

  • 36
  • 0
  • 约5.33千字
  • 约 46页
  • 2016-08-18 发布于重庆
  • 举报
数据结构课件Ch9_哈希表

线性探测: 假定采用的H函数为:H(key)= keyMOD11,关键字序列为:17、60、29、38 … 当散列 38 时发生冲突,同 60 争夺第 5 个单元 解决办法 :探测下一个空单元,步长:1 H(key) = ( key+di) MOD 11,其中:di 为 1、2……10 注意:可取其它步长,如 3 冲突: 初级冲突:不同关键字值的结点得到同一个散列地址。 二次聚集:同不同散列地址的结点争夺同一个单元。 结果:冲突加剧,最坏时可能达到 O(n)级代价。 解决办法: 改变步长:选和 m 互质的数作为步长,如 3、5、7…… 如选步长为 5,用 H(key) = ( key+5) MOD 11 H(key) = ( key+ 5×2) MOD 11 H(key) = ( key+ 5×3) MOD 11 等进行下一个空的单元,直到找到为止。 随机地改变步长,如取步长序列:2,7,4,3,6,1,5,如用 H(key) = ( key+2) MOD 11 H(key) = ( key+7) MOD 11 H(key) = ( key+ 4) MOD 11 等进行探测下一个空的单元,直到找到为止。 例 假设哈希表长度m=13

文档评论(0)

1亿VIP精品文档

相关文档