首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

什么是哈希表的二次探测法?该如何处理

2012-03-15 
什么是哈希表的二次探测法?例如:为什么啊?设哈希表长为14,哈希函数H(key)key%11,表中已有数据的关键字为1

什么是哈希表的二次探测法?

例如:为什么啊?

设哈希表长为14,哈希函数H(key)=key%11,表中已有数据的关键字为15,38,61,84,四个,现将关键字为49的结点加到表中,用二次探测再散列法解决冲突,则放入的位置是( )。
  A.8 B.3 C.5 D.9




[解决办法]
处理冲突的方法:

1、开放定址法

Hi=(H(key)+di) MOD m i=1,2,...,k(k<=m-1)

其中m为表长,di为增量序列

如果di值可能为1,2,3,...m-1,称线性探测再散列。

如果di取值可能为1,-1,2,-2,4,-4,9,-9,16,-16,...k*k,-k*k(k<=m/2)

称二次探测再散列。




更正一下:

上面得出的答案 A.8 用的是线性探测再散列。

如果用二次探测再散列,答案应该是 B.3。

[解决办法]
9是对的

热点排行