急!!!求哈希表查找失败的平均查找长度 我理解不了请高手详细解答一下 谢谢!

lufing 2008-05-12 08:06:55
设哈希函数为Hash(key)=key MOD 11,要求把关键字列 1,13,12,34,38,33,27,22插入到哈希表中

用线性探测再散列法来构造哈希表,求不成功的所需平均查找长度?

哈希表我已经构造出
0 1 2 3 4 5 6 7 8 9 10
33 1 13 12 34 38 27 22

成功所需的平均查找长度 我也算出了 =(1+1+3+4+1+1+2+8)/8=21/8

但是不成功的平均查找长度 我不会求 书上也没有写步骤

请高手指点 把具体步骤写出来 谢谢了!
...全文
8982 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿喔啊 2012-08-05
  • 打赏
  • 举报
回复
懂啦 谢谢啦
richardcpp 2011-12-28
  • 打赏
  • 举报
回复
谢谢 楼上几位 看懂了
vcar1 2011-11-17
  • 打赏
  • 举报
回复
suobang1 2011-10-27
  • 打赏
  • 举报
回复
看了看,发现这个贴子很有用
aweiname2008 2011-10-20
  • 打赏
  • 举报
回复
都是除以元素的个数的
白天笑笑 2011-06-07
  • 打赏
  • 举报
回复
四楼好像是对的,但是谁能告诉我,为什么要除以表长啊??一个数除以11余数只有11种情况,也就是说入口有11种啊??
金士顿 2010-10-25
  • 打赏
  • 举报
回复
4楼是正解
地址: 0 1 2 3 4 5 6 7 8 9 10
数据:33 1 13 12 34 38 27 22 - - -
成功次数:1 1 1 3 4 1 2 8
不成功次数:9 8 7 6 5 4 3 2 1 1 1

举个例子19 19 mod 11 = 8 第八个没有数 不成功次数是1
55 55 mod 11 = 0 从地址0开始,到地址8 一共9次
再有就是注意分母 成功是8 不成功是11



kaohamaqu 2010-10-13
  • 打赏
  • 举报
回复
谢了,我也有同样的问题!嘿嘿……
zeusnux 2010-08-15
  • 打赏
  • 举报
回复
就是这个问题烦了我一段时间。。。。
mujiang770419151 2009-12-28
  • 打赏
  • 举报
回复
哈希表查找不成功的平均查找长度 哈希表查找不成功的平均查找长度怎么计算?
解答:先建好表,然后可以算出每个位置不成功时的比较次数之和,再除以表空间个数!
例如:散列函数为hash(x)=x MOD 11,用线性探测,建立了哈希表之后,如何求查找不成功时的平均查找长度!?

地址:0 1 2 3 4 5 6 7 8 9 10
数据:33 1 13 12 34 38 27 22 - - -
成功次数:1 1 1 3 4 1 2 8
不成功次数:9 8 7 6 5 4 3 2 1 1 1

查找成功时的平均查找长度:ASL=(1+1+1+3+4+1+2+8)/8 =47/8
查找不成功时的平均查找长度:ASL=(9+8+7+6+5+4+3+2+1+1+1)/11

(注:求查找不成功时的平均查找长度,一般情况下分母为表长,但精确地讲是表长的有效位个数。

例如对于字符串来说,散列函数为hash(x)=x/2,x为字符的第一个字母在字母表的序号,表长即使为16,该分母也应取14,因为最大的hash(Z)=26/2=13,即只有0~13的14个有效位置有效。)



说明:

第n个位置不成功时的比较次数为,第n个位置到第1个没有数据位置的距离。

如:第0个位置到第1个没有数据位置(8)的距离为9.
orangeii 2009-12-17
  • 打赏
  • 举报
回复
如果再有一个数这个数分别站位不同余数时的访问数的和
  • 打赏
  • 举报
回复
似乎应该是(9+8+7+6+5+4+3+2+1+1+1)/11=47/11

某个(哈希表中并不存在的)值n对11取余之后,结果可能是0~10
如果n mod 11的值是8、9、10那么1次查找之后就可以判定表中不存在这个值,
如果n mod 11 = 0,那么还需要偏移,一共9次查找才能判定表中没有这个值,
如果n mod 11 = 1,那么需要8次查找才能判定表中没有这个值,
如果n mod 11 = 2,那么需要7次查找才能判定表中没有这个值,
……
如果n mod 11 = 7,那么需要2次查找才能判定表中没有这个值。
所以不成功的平均查找长度就是上述查找次数取均值。
cugbliang 2008-05-13
  • 打赏
  • 举报
回复
我觉得不成功的平均查找长度就是索引值不是正好和哈希函数一致的(就是发生冲突的)查找长度的平均,对应这题就是所有查找长度不是1的求和再除以这样的数的个数

33,010

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧