关于哈希表的考试问题(措辞的解释)

时间:2011-06-25 04:34:48

标签: hashtable

我对有关哈希表的特定考试问题的措辞感到困惑。根据解释,我理解它的方式可能有两个不同的答案。所以我想知道是否有人可以帮助确定哪种理解是正确的。问题如下:

  

我们有一个大小为7的哈希表来存储整数键,哈希函数为h(x)= x mod 7.如果我们使用线性探测和插入元素的顺序为1,15,14,3,9,5 ,27,一个元素试图移动到占用点的次数是多少次?

我将打破对这个问题的两种不同理解。首先,每个元素的初始索引是:

1:1
15:1
14:0
3:3
9:2
5:5
27:6

第一种解释:
1:插入索引1
15:尝试转到索引1,但由于碰撞向左移动到索引0.碰撞计数= 1
14:尝试转到索引0,但由于碰撞向左移动到索引6.碰撞计数= 2
3:插入索引3
9:插入索引2
5:插入索引5
27:尝试转到索引6,但是由于碰撞移动到索引5然后移动到4,这是空的。碰撞计数= 4

答案:4?

第二种解释:
仅计算27因为与索引6中的元素发生碰撞而尝试移动到占用索引5的时间。

答案:1?

哪个答案是正确的?

感谢。

2 个答案:

答案 0 :(得分:2)

措辞很愚蠢。

老师可能会想要#1,但我认为#2 迂腐正确因为一个元素只会尝试将移动到一个占用的地点 ,正如所指出的那样。在其他情况下,它不会将移动到占用的地点,而是占用的地点移动到一个免费地点。

在学校的考试有点傻 - 老师(或TA)已经知道他/她想要什么。在“正在谦虚地纠正”和“给予教师他们想要的东西”之间有一条线。 (只是永远不要屈服于可证明的错误!)

有一件事从不(至少我记得;-)在测试或家庭作业中让我失望的是提供一个可靠且正确的理由 答案;这可能还包括解释“其他”答案。

教师/环境,曲目,傲慢和成绩(仅举几例)需要平衡。

快乐的学校教育。

答案 1 :(得分:1)

解释1是正确的。与6的碰撞意味着插槽6被占用,那你为什么不算数呢?