哈希表查找失败到底是什么意思?指的是什么数据查找不成功呢?(下面有两道在百度上传的风风火火的例题)

发布时间:2019-08-26 14:03:53

哈希表查找失败到底是什么意思?指的是什么数据查找不成功呢?(下面有两道在百度上传的风风火火的例题)

推荐回答

查找失败就是说要找的那个值没有在哈希表里面。

你放上来的题没给哈希函数没法给你分析,我给你举个例:

假如你的哈希函数是key=x mod 10,填充后的哈希表如下所示:

0   1   2   3   4   5   6   7   8   9   10  1110   1   12          15  25      18   19   29

如果你要查找这个哈希表里面有没有0这个数,那你就会去序号0下面找,这个地方被10填充了,那就往后找,后面依次是1、12,都不等于0,再往后就为空,说明这个表里面没有0。总共查找了4次。     

如果你要查找这个哈希表里面有没有2这个数,那你就会去序号2下面找,做一次比较,下面是12,不相等,往后面找,后面是空,那查找结束。总共查找了2次。

如果你要找29,那就会在序号9下面找,这里被19填充了,于是往后,找到29。总共查找了2次。

所以,每次查找不成功的查找长度就等于从序号找到第一个空的格子的距离。

在我举的这个例子里面,ASL=(4+3+2+1+1+3+2+1+4+3+2+1)/12

不知道你明白了没~

以上问题属网友观点,不代表本站立场,仅供参考!