70得票3回答
为什么.NET内部Hashtable中有Thread.Sleep(1)? (注意:这是一个提问标题,无需回答)

最近我在阅读 .NET Hashtable 的实现时,遇到了一段我不理解的代码。其中的一部分如下:int num3 = 0; int num4; do { num4 = this.version; bucket = bucketArray[index]; if (++num3...

67得票6回答
Java使用什么哈希函数来实现Hashtable类?

在《算法导论》(CLRS)一书中,有几种哈希函数,例如mod、multiply等。 Java使用何种哈希函数将键映射到槽中呢? 我看到这里有一个问题:Hashing function used in Java Language。但它没有回答这个问题,而且我认为该问题的标记答案是错误的。它说...

65得票5回答
什么是哈希表,在编程中它可以用在哪些地方?

我经常听到人们谈论哈希、哈希映射和哈希表。 我想知道它们是什么,以及在哪里可以最好地使用它们。

64得票5回答
链式哈希表 vs 开放地址哈希表

有人可以解释一下这两种实现方式的主要区别(优缺点)吗? 对于一个库(library),推荐使用哪种实现方式?

63得票4回答
为什么HashMap查找时间复杂度是O(1),也就是常数时间?

如果我们从Java的角度来看,那么我们可以说哈希表查找具有常数时间。但是内部实现呢?它仍然需要在特定存储桶(其键的哈希码匹配)中搜索不同的匹配键。那么为什么我们会说哈希表查找具有常数时间?请解释。

62得票7回答
Java如何在HashMap或HashTable中排序项目?

我在想当我们向Map(HashMap或Hashtable)添加条目时,Java是如何对它们进行排序的。键是按照哈希码、内存引用还是分配顺序排序的呢? 这是因为我注意到Map中相同的键值对并不总是以相同的顺序排列。

61得票6回答
在Java中将Hashtable创建为final的方法

正如我们所知,"final"关键字在Java中的作用是什么。在声明变量时使用"final",我们必须初始化该变量,例如"final int a = 10;"。 我们无法更改"a"的值。但如果我们使用HashTable,即使将其声明为final,也可以添加一些值。 示例: private...

61得票3回答
高效的Haskell哈希结构。

我正在编写一个需要进行许多表查找的程序。因此,当我浏览 Haskell 文档时,我偶然发现了 Data.Map(当然),还有 Data.HashMap 和 Data.Hashtable。我不是哈希算法方面的专家,在检查过这些包后发现它们看起来非常相似。因此,我想知道: 1:主要区别是什么,如...

57得票9回答
C++中的哈希表?

每当我需要存储与特定类型的值相关联的一些数据(键值-例如字符串或其他对象)时,我通常使用C ++ stdlib map。 stdlib map实现基于树,提供比标准数组或stdlib向量更好的性能(O(log n))。 我的问题是,您是否了解任何C ++“标准”哈希表实现,可以提供更好的性能...

55得票6回答
遍历对象哈希表

我正在尝试使用哈希表来选择存储在数组/对象中的特定对象。然而,我在遍历对象时遇到了问题。var pins= {}; pins[6] = '6'; pins[7] = '7'; pins[8] = '8'; $('#result3').append('<div>Size: ' + ...