【问题标题】:Exam question about hash tables (interpretation of wording)关于哈希表的考试题(措辞解释)
【发布时间】:2011-06-25 04:34:48
【问题描述】:

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

我们有一个大小为 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?

哪个答案是正确的?

谢谢。

【问题讨论】:

    标签: hashtable


    【解决方案1】:

    措辞很愚蠢。

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

    学校的考试有点傻——老师(或助教)已经知道他/她想要什么。在“学究式地正确”和“给老师他们想要的东西”之间有一条界限。 (永远不要屈服于可证明的错误!)

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

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

    快乐上学。

    【讨论】:

      【解决方案2】:

      解释 1 是正确的。与 6 碰撞就表示 6 号槽被占用了,那为什么不算呢?

      【讨论】:

      • 我在想“一个元素将尝试移动到占用的位置多少次”可能是在告诉我忽略对占用位置的插入,并且只计算由于插入而导致的移动到占用位置造成碰撞。
      • 确实如此。我总是对考官的意图以及他们会采取什么样的伎俩持怀疑态度。谢谢你的回答。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-30
      • 1970-01-01
      • 2011-01-19
      • 1970-01-01
      相关资源
      最近更新 更多