hashtable相关内容

为什么我的打印函数用下面代码中的最后一个条目覆盖前面的条目?

这是一个简单程序的开始,该程序将在哈希表中存储用户条目。它仍然很基本(还没有添加处理冲突的链表,哈希函数非常简单,是更健壮的函数的临时占位符,我还没有处理释放所有Malloc内存的问题,等等),但我想在进一步之前先弄清楚基本的功能。 在这个版本中,我的最新条目似乎覆盖了以前的条目。看起来条目仍然位于正确的位置(由哈希函数确定),但不知何故,最后一个条目被放在了到处都是的位置。 抱歉,我 ..
发布时间:2022-03-31 23:11:44 其他开发

为什么哈希表删除O(1)?

我理解为什么HashTable Add是O(1)(但是,如果我错了,请纠正我):要添加的项总是分配给支持数组中的第一个可用位置。 我理解Lookup为什么是O(N)(同样,如果我错了,请纠正我):您需要遍历支持数组来查找请求的值/键,并且此操作的运行时间将与集合的大小成正比。 然而,为什么是Deleteconstant?在我看来,添加/查找中涉及的相同原则是必需的。 编辑 ..
发布时间:2022-03-31 23:09:50 C#/.NET

高效地将字谜分组

我正在尝试编写一个程序,将所有字谜组合在一个列表中,并且输出必须按字母顺序排序。我已经有一个按字母顺序对输入进行排序的程序,它使用heapsort在O(nlog(N))时间内完成。我的程序也对字谜进行分组,但是速度太慢了。我相信使用散列会给出一个有效的算法,但不太确定如何实现它。有没有人对完成这项任务的高效算法有什么建议? 输入: eat tea tan ate nat bat 输 ..
发布时间:2022-03-31 23:08:35 其他开发

使用质数表示哈希表的大小

我一直在阅读关于HashTables的教科书,它说在重新散列它时使用一个素数来表示数组的大小,但是它没有解释为什么。我也用谷歌搜索了一下,我找到的最好的答案是“出于技术原因”,为什么哈希表的大小应该使用质数? 推荐答案 取决于哈希函数。具体地说,为散列表大小选择素数可以弥补所使用的散列函数很差的事实,并且经常返回在执行期间自然出现的值的同余散列。哈希表大小的质数提高了哈希函数可能具有的 ..
发布时间:2022-03-31 23:06:05 其他开发

构建哈希图的哈希图

我不经常问问题(大多数时候,问题可以通过一些研究来解决,对吗?)但我只是想听听你的意见,因为可能有更好的(更有效的)方法。 让我们看看,下面的代码工作得很好,它达到了它的目的。代码的结果是哈希图的哈希图,我需要它作为另一项工作的查找表。 背景: $ccDb是一个由大约200k项组成的数组,属性为companyCd, costCenterNbr, costCenterShortNm ..
发布时间:2022-03-31 23:04:40 其他开发

在PowerShell中通过引用传递/更新哈希表和数组

随着我了解Perl和PowerShell的不同之处,我正试图弄清通过引用传递列表和更新列表之间的区别。我认为我现在明白了,就PowerShell而言。 通过引用传递哈希表: 调用函数时:表名前不一定要加[ref]。在函数中:param列表中的表名可以简单地放在[hashtable]前面,而不是[ref]—;(因为“As Receive”它已经是一个引用;我也是这样解释的)。如果 ..
发布时间:2022-03-31 23:00:39 其他开发

如何在C++中判定映射中是否存在值

我了解std::map是(键、值)对。 我想搜索映射的值。假设我想要在std::map的值中找到最高值。我怎么能做到这一点? 例如,让我考虑这样一张地图: John->100 Jeffrey->200 克里希纳->147 我认为会与此类似,但我不确定。 for (auto it=m.begin(); it!=m.end(); it++) { ..
发布时间:2022-03-31 22:59:28 C/C++开发

在哈希表中创建字符串的哈希值的时间复杂性

通常说,在哈希表中插入和查找字符串是O(1)。但是字符串的散列键是如何生成的呢?为什么不考虑O(L),字符串的长度? 我很清楚为什么对于整数,它是O(1),而对于字符串,它不是。 我确实理解为什么在一般情况下,插入哈希表是O(1),但我对插入哈希表之前的步骤感到困惑:生成哈希值。 在Java中生成字符串的散列键的方式与在C++中生成unordered_map的方式有什么不同吗? 谢谢。 ..
发布时间:2022-03-31 22:57:56 Java开发

PowerShell-使用阵列将哈希表写入文件

我想将一个哈希表写到一个文件中,该文件包含一个数组作为哈希表项目之一。我的数组项已写出,但它包含了FILES=System.Object[] 注意-一旦此方法起作用,我将希望反转该过程并再次读回哈希表。 clear-host $resumeFile="c:userspaul esume.log" $files = Get-ChildItem *.txt $files.GetType() ..
发布时间:2022-03-31 22:56:08 其他开发

GROUP-对象,获取计数

给定一个包含一些重复项的列表,我可以使用Group-Object -AsHashtable,我得到一个哈希表,其中似乎有包含项名称的键,而值是我无法识别的内容。 因此,给定 $array = [System.Collections.Generic.List[String]]@('A', 'B', 'C', 'B', "c", 'C') $grouped = $array | Group ..
发布时间:2022-03-31 22:51:44 其他开发

用于一组短字节串的高效存储数据结构

我正在寻找一种在Python中类似集合的数据结构,它允许对长度约为10的1亿个短字符串(或字节字符串)进行快速查找(集合为O(1))。 在10M字符串的情况下,这已经占用了Python3.7或3.10.2上的750MB内存(如果用字符串替换b字符串,则占用900MB): S = set(b"a%09i" % i for i in range(10_000_000)) # { b"a0 ..
发布时间:2022-03-31 22:48:47 Python

比较powershell中的两个哈希表

您好,我是初学者,我需要比较两个哈希表并重新生成另一个. 例如: [哈希表]$alpha =@{"A1" = "电脑";"A2" = "文件夹";“A3"=“飞机";“A4"=“花";“A5"=“狗";}[哈希表]$beta =@{“计算机"=“P1";“平面"=“P2";“花园"=“p3";“花"=“P4";“狗"=“P5";} 如果我在 $alpha 和 $beta 中有计算机,我需 ..
发布时间:2022-01-25 09:47:28 其他开发

加入两个哈希表来制作一个

我有两个哈希表,我需要比较它们.让我解释一下我的问题: [哈希表]$User = @{"杰克" = "AdminLA, AdminUSA";"约翰" = "AdminAustralia";"莎拉" = "AdminIceland";"阿诺德" = "AdminUSA";"Maurice" = "AdminAustralia, AdminCanada";}[哈希表]$Profil = @{"Adm ..
发布时间:2022-01-25 09:17:25 其他开发

更好地使用 HashTable 或 switch case

我不确定哪个更好.我需要解析输入字符串的每个字符并获取该字符的替换字符串.对于某些对象,所有字母数字字符都是允许的,因此使用 switch/case 会导致大量代码并降低可读性和可维护性,但我可以使用静态方法.使用HashTable也需要很多代码 使用静态方法: 私有静态字符串 EncodeChar(char c){var 符号 = string.Empty;开关 (c){案例“0":符 ..
发布时间:2022-01-19 10:57:07 C#/.NET

跳表开关盒问题

我正在尝试了解一些关于跳转表的事情以及它与 switch case 语句之间的关系. 有人告诉我,跳转表是编译器生成的 O(1) 结构,它使查找值的速度基本上与你能得到的一样快.但是在某些情况下,哈希表/字典可能会更快.我还被告知这仅在 switch case 包含 ordered 数据值时才有效. 有人可以确认或否认这一点,并解释什么是跳转表,它的重要性和时间复杂度与使用字典或哈希表 ..
发布时间:2022-01-19 10:31:34 C/C++开发