Questions tagged «hashtable»

编程中的哈希表是一个使用哈希函数将标识值(键)映射到其关联值的集合。

10
HashTables如何处理冲突?
我在我的学位课程中听说,HashTable如果新的Key条目与另一个碰撞,则a 将在“下一个可用”存储桶中放置一个新条目。 HashTable如果使用碰撞键向后调用时发生碰撞,仍然会如何返回正确的值? 我假设Keysare String类型,并且hashCode()返回说Java生成的默认值。 如果我实现自己的哈希函数并将其用作查找表的一部分(即a HashMap或Dictionary),那么存在哪些处理冲突的策略? 我什至看到与质数有关的注释!Google搜索中的信息不太清楚。

6
MATLAB中的哈希表
MATLAB是否支持哈希表? 一些背景 我正在研究Matlab中需要图像的比例空间表示的问题。要做到这一点,我创建一个2-d高斯滤波器具有方差sigma*s^k为k在一定范围内。,然后我使用依次每一个来过滤所述图像。现在,我想要某种映射k到过滤后的图像。 如果k始终是整数,则只需创建一个3D数组即可: arr[k] = <image filtered with k-th guassian> 但是,k不一定是整数,所以我不能这样做。我想做的是保留一个ks 数组: arr[find(array_of_ks_ = k)] = <image filtered with k-th guassian> 乍一看似乎不错,不过我可能会使用20或30的值进行数千次查找k,而且我担心这样做会损害性能。 我想知道是否最好使用某种哈希表来执行此操作,以便查找时间为O(1)而不是O(n)。 现在,我知道我不应该过早地进行优化,并且我可能根本不会遇到这个问题,但是请记住,这仅仅是背景情况,并且在某些情况下,这实际上是最好的解决方案,无论它是否是最佳解决方案。解决我的问题的最佳方法。
92 matlab  hashtable 


10
超高性能C / C ++哈希图(表,字典)
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 5年前关闭。 改善这个问题 我需要将原始键(int,也许很长)映射为高性能哈希映射数据结构中的结构值。 我的程序将包含几百个这样的映射,每个映射通常最多具有数千个条目。但是,这些地图会不断“刷新”或“搅动”;想象处理数以百万计add和delete消息的第二。 C或C ++中的哪些库具有适合此用例的数据结构?或者,您如何建议自己建造?谢谢!

5
哈希表VS关联数组
最近,我在一本非常著名的书“算法简介”中阅读了有关散列表的信息。我还没有在任何实际的应用程序中使用它们,但是想要。但是我不知道如何开始。 谁能给我一些使用它的示例,例如,如何使用哈希表实现字典应用程序(例如ABBYY Lingvo)? 最后,我想知道PHP中的哈希表和关联数组之间的区别是什么,我的意思是应该使用哪种技术以及在哪种情况下? 如果我错了(请原谅),请纠正我,因为实际上我是从哈希表开始的,并且我对哈希表只有基本的(理论上的)知识。 非常感谢。


6
PSCustomObject到Hashtable
将a转换PSCustomObject为a的最简单方法是Hashtable什么?它与splat运算符,大括号和看起来像键值对的显示一样。当我尝试将其投射到[Hashtable]它不起作用时。我也尝试过.toString(),分配的变量说它是一个字符串,但是什么也不显示-有什么想法吗?


2
“放置”会覆盖现有值吗?
哈希表的新功能,有一个简单的问题。由于某种原因,谷歌搜索并没有给我一个直接的答案。假设我已经建立了一个<int,String>哈希表: myHashtable.put(1,"bird"); myHashtable.put(2,"iguana"); 我想将“鸟”更改为“鱼”(并保持索引不变)。我可以做一个简单的put,还是需要删除该条目,或者什么?


5
哈希表运行时复杂度(插入,搜索和删除)
为什么我在哈希表上仍然看到这些函数的不同运行时复杂性? 在Wiki上,搜索和删除均为O(n)(我认为哈希表的要点是具有恒定的查找,因此,如果搜索为O(n)的意义是什么)。 在不久前的一些课程笔记中,我看到了许多复杂的情况,具体取决于某些细节,包括一个包含所有O(1)的细节。如果我可以全部获得O(1),为什么还要使用其他实现? 如果我以C ++或Java之类的语言使用标准哈希表,那么我期望的时间复杂度是多少?

3
为什么.NET内部Hashtable中有Thread.Sleep(1)?
最近,我在阅读.NET Hashtable的实现,遇到了我不理解的代码。部分代码是: int num3 = 0; int num4; do { num4 = this.version; bucket = bucketArray[index]; if (++num3 % 8 == 0) Thread.Sleep(1); } while (this.isWriterInProgress || num4 != this.version); 整个代码是内public virtual object this[object key]的System.Collections.Hashtable(mscorlib程序版本= 4.0.0.0)。 问题是: 在Thread.Sleep(1)那里的原因是什么?


11
为什么不能将null用作Dictionary <bool ?, string>的键?
显然,null即使密钥是可为空的类型,也不能将a用作密钥。 这段代码: var nullableBoolLabels = new System.Collections.Generic.Dictionary&lt;bool?, string&gt; { { true, "Yes" }, { false, "No" }, { null, "(n/a)" } }; ...导致此异常: 值不能为空。参数名称:键 说明:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。 [ArgumentNullException: Value cannot be null. Parameter name: key] System.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument) +44 System.Collections.Generic.Dictionary'2.Insert(TKey key, TValue value, Boolean add) +40 System.Collections.Generic.Dictionary'2.Add(TKey key, TValue value) +13 .NET框架为什么允许键的可空类型,但不允许空值?

14
在C中寻找良好的哈希表实现[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 7年前关闭。 改善这个问题 我主要对字符串键感兴趣。有人可以将我指向图书馆吗?
68 c  string  hashtable  hash 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.