当前位置: 首页 > 面试题库 >

地图中的最大元素数

鲜于光赫
2023-03-14
问题内容

GO Map中可以存储的最大元素数量是多少?如果我需要经常访问Map中的数据,那么在长时间运行的程序中,继续向Map中添加项目并从中检索是一个好主意吗?


问题答案:

映射中元素的数量没有理论限制,但映射长度类型的最大值为int。的最大值int取决于您编译到的目标体系结构,1 << 31 - 1 = 2147483647在32位的1 << 63 - 1 = 9223372036854775807情况下,在64位的情况下,可能是最大值。

请注意,作为实施限制,您可能无法完全添加max-int元素,但是数量级将相同。

由于内建map类型使用哈希图实现,因此访问时间复杂度通常为O(1),因此将许多元素添加到映射中是完全可以的,您仍然可以非常快速地访问元素。请注意,但是添加许多元素将导致内部结构的重新哈希和重建,这将需要一些额外的计算-
在向地图添加新键时可能偶尔发生。

如果您可以“猜测”或估计地图的大小,则可以创建具有很大容量的地图以避免重新散列。例如,您可以创建一个具有一百万个元素的空间的地图,如下所示:

m := make(map[string]int, 1e6)


 类似资料:
  • 下面的一些代码似乎太明显了,使用最右边的分支遍历树,因为这是所有最大值所在的位置。然而,我在RobertSedgewick的算法书中看到的这段代码有一些地方我不太懂。 在私有方法中,如果x的右子元素为null,为什么要返回左元素?根据我的理解,如果x没有正确的子节点,并且是我们可以访问的最正确的节点,那么x将是最大值。另外,我不明白什么时候在第二个方法的最后一行返回x。

  • 本文向大家介绍从数据结构中的最大HBLT中删除最大元素,包括了从数据结构中的最大HBLT中删除最大元素的使用技巧和注意事项,需要的朋友参考一下 在Max HBLT中,将根放在根上。如果根被删除,则两个最大的HBLT(即左和右)将分开。通过再次将这两个Max HBLT融合在一起,我们可以将它们合并为一个。因此,在融合之后,所有元素都将存在,除了已删除的元素。

  • 我正在尝试获取给定数组中的最大元素,以下是要求: > var obj={key:[1,2,4]}; 有人能给我解释一下为什么当我把 在IF函数的末尾,我得到了错误:如果属性不存在,应该返回未定义。但是当我把它放在IF函数的开头时,它毫无问题地通过了。

  • 我实现了c程序,可以找到矩阵的元素:行的最大元素,同时列的最小元素,或行的-min元素,同时列的最大元素。例如,我们有数据。包含以下内容的txt文件: 4 7 8 9 10 6 5 4 11 5 0 1 12 4 2 7 13- 其中4是n-矩阵大小(4x4),7和10是这些数字。 下面是代码: 问题:我想知道我的代码是不是“脏”代码?因为我总是渴望让一切变得如此困难,只要有可能让它变得容易。是否

  • 本节通过求数组的最大和最小值来提高初学者对数组的一些基本应用。 程序运行结果如下: 最高成绩:100 最低成绩:67 将变量 min 与 max 初值设成数组的第 1 个元素后,再逐一与数组中的各元素相比。比 min 小,就将该元索的值指定给 min 存放,使 min 的内容保持最小。同样,当该元素比 max 大时,就将该元素的值指定给 max 存放,使 max 的内容保持最大。for 循环执行完

  • 本文向大家介绍JavaScript 查找最小或最大元素,包括了JavaScript 查找最小或最大元素的使用技巧和注意事项,需要的朋友参考一下 示例 如果您的数组或类似数组的对象是numeric,也就是说,如果它的所有元素都是数字,则可以使用Math.min.apply或作为第一个参数Math.max.apply传递null,而将数组作为第二个参数传递。 6 在ES6中,可以使用...运算符扩展数