46得票7回答
一个适用于C语言的最小哈希函数?

我不能使用boost:hash,因为我必须坚持使用C语言,不能使用C++。 但是,我需要对大量(10K到100k)的令牌字符串(长度为5到40字节)进行哈希,以便在其中搜索最快。 MD5、SHA1或任何长哈希函数似乎对于简单的任务来说太重了,我不做加密。此外还有存储和计算成本。 因此我的...

46得票1回答
Trie复杂度和搜索

创建一个单词列表的trie的复杂度是什么?在该trie中搜索其他单词集合的复杂度是什么? 当我拥有哈希表时,我是否应该使用trie进行字符串搜索?

45得票4回答
如何在Swift中为Int数组(自定义字符串结构)实现Hashable协议

我正在制作一个类似于String的结构,但它只处理Unicode UTF-32标量值。因此,它是一个UInt32数组。(有关更多背景信息,请参见this question。) 我的目标 我希望能够将自定义的ScalarString结构用作字典中的键。例如: var suffixDicti...

44得票4回答
Hashtable、HashMap、HashSet在Java集合框架中的哈希表概念

我正在学习Java集合框架,已经有一定的理解。现在,当我深入了解时,对HashMap,HashSet和Hashtable存在疑问。 HashMap 的 Javadoc 表示: 基于哈希表实现的 Map 接口。该实现提供了所有可选的 map 操作,并允许 null 值和 null 键。...

44得票5回答
Swift中如何基于对象引用实现Hashable协议?

我在学习了Java之后开始学习Swift。在Java中,我可以使用任何对象作为HashSet的键,因为它具有默认的hashCode和基于对象标识符的equals。如何在Swift中实现相同的行为?

44得票10回答
为什么Hashtable不允许null键或值?

根据JDK文档,Hashtable不允许使用null键或值。HashMap允许一个null键和任意数量的null值。为什么会这样呢?

43得票3回答
哈希表的时间复杂度

我对哈希表的时间复杂度感到困惑,许多文章都说它们的时间复杂度是"平摊O(1)",而不是真正的O(1),那么这在实际应用中意味着什么?在哈希表的实际实现中,操作的平均时间复杂度是多少?为什么这些操作不是真正的O(1)?

43得票2回答
为什么HashMap要求初始容量是2的幂?

我在查看Java的HashMap源代码时,发现了以下内容//The default initial capacity - MUST be a power of two. static final int DEFAULT_INITIAL_CAPACITY = 16; 我的问题是为什么首先需要这个...

42得票4回答
哈希表和哈希映射是什么,它们的典型用例是什么?

我最近几次遇到了这些术语,但我很困惑它们是如何工作的以及通常在什么情况下实现?

41得票2回答
从字典中删除指定键名的键

我试图从字典中删除一个特定的键。parameterList是一个键值为string类型的字典。parameterList.Remove(parameterList.Where(k => String.Compare(k.Key, "someKeyName") == 0));