Data structures 如何使用哈希集实现哈希表

Data structures 如何使用哈希集实现哈希表,data-structures,hashtable,Data Structures,Hashtable,我被问到以下面试问题: 假设您有一个HashSet实现,提供它的普通 接口。如何使用HashSet的一个或多个实例来 实现一个哈希表,为普通哈希表接口提供它的普通时间约束 我问了两次,但他们的意思是这样,而不是相反(使用哈希表实现哈希集非常简单,例如Java就是这样做的) 我回答说这是不可能的。这个答案似乎没有得到面试官的认可,所以我正在寻找一个更好的答案。我找不到解决方案,即使在internet和堆栈溢出上搜索也是如此 我认为这是一个技巧性的问题,但为了确保我在这里发布了这个问题。一种标准的方

我被问到以下面试问题:

假设您有一个HashSet实现,提供它的普通 接口。如何使用HashSet的一个或多个实例来 实现一个哈希表,为普通哈希表接口提供它的普通时间约束

我问了两次,但他们的意思是这样,而不是相反(使用哈希表实现哈希集非常简单,例如Java就是这样做的)

我回答说这是不可能的。这个答案似乎没有得到面试官的认可,所以我正在寻找一个更好的答案。我找不到解决方案,即使在internet和堆栈溢出上搜索也是如此


我认为这是一个技巧性的问题,但为了确保我在这里发布了这个问题。

一种标准的方法是将哈希表视为键/值对的哈希集,其中,键/值对的散列码纯粹是键的散列码,并且相等比较函数表示,当任意两个键/值对的键相等时,它们精确地相等。这样,正常的散列集操作将以如下方式存储键/值对:

  • 不存储具有相同键的两个键/值对,并且
  • 在哈希表中查找键将找到具有该键的键/值对对象,可以从中查找值
希望这有帮助