问题标签 [load-factor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何通过设置 initialsize 和 loadFactor 来优化 hashmap
我从 Db 获取数据并将其存储到具有 10,000 个条目的 Hashmap 中,有时我不知道结果集的大小。我想优化HashMap。这样它就不会通过设置 loadFactor 和 IntialSize 来重新散列整个 hashmap。我知道在 HashMap 的构造函数中作为 HashMap(IntialSize,LoadFactor)。我们可以在得到resultSet的大小后进行设置吗?
像这样的相同代码。
java - Hashmap loadfactor - 基于占用的桶数或所有桶中的条目数?
我试图了解在超过占用的存储桶数或所有存储桶中的条目总数时是否会发生哈希映射的重新散列。意味着,我们知道如果 16 个桶中的 12 个(每个桶中有一个条目)已满(考虑默认负载因子和初始容量),那么我们知道在下一个条目上哈希图将被重新散列。但是,如果假设只有 3 个存储桶被每个 4 个条目占用(总共 12 个条目,但 16 个存储桶中只有 3 个在使用中),那这种情况呢?
所以我试图通过制作最差的哈希函数来复制这一点,它将所有条目放在一个桶中。
这是我的代码。
现在我开始将值放入哈希图中。
所有节点都按预期进入了单个存储桶,但我注意到在第 9 个条目时,哈希图重新哈希并使其容量增加了一倍。现在在第 10 次入境时,它的容量再次翻了一番。
谁能解释这是怎么回事?
提前致谢。
hash - 单独链接中的负载因子?
为什么建议在分离链接中使用 1 的负载因子?
我看到很多人说它是推荐的,但没有给出明确的解释为什么。
在开放寻址中,我知道负载因子应该在 0.5 和 0.7 之间,因为在处理冲突时它应该是一种快速查找未占用索引的操作。但我不明白为什么在分离链接中负载因子为 1 应该更好。我的意思是,如果我有一个大小为 100 的表,是否还有机会将所有 100 个元素散列到同一个索引并放在同一个列表中?上帝,我真的无法理解为什么分离链接的这个特定负载因子应该是 1。
java - Java:集合负载因子或如何创建固定大小的集合或映射
在我的项目中,我在 MySet 和 MyMap 类中有特殊的实用方法 .of() 以使工作更轻松。
我想为这种方法使用固定容量。我的理由是更好的性能和内存经济性。
第一个例子:
第二:
但据我了解,“负载因子”变量的 1f 值意味着双桶计数的限制 =(容量 * 负载因子)。在第一个示例中,它将是 1 个元素...
我尝试查找有关此问题的一些信息,但一无所获。创建固定大小的 Set 的最佳方法是什么?在我的情况下,我总是知道我需要多少元素。而且我不想成为开销,或者分配从未使用过的存储桶。
hash - 使用链接方法调整哈希表的大小
我需要实现一个程序,它将输入中的数字插入哈希表。我想使用链接方法来避免冲突。该程序必须具有调整哈希表大小的功能。我的问题是,如何计算负载因子,以及何时调整哈希表的大小?
c++ - 如何正确计算使用单独链接的哈希表的负载因子?
我正在使用使用单独链接作为冲突解决技术的哈希表。
我知道通用公式是 N/table_length,其中 N 是当前表中的项目数。
我对分母有点困惑。是数组的大小 + 链接元素的数量,还是只是数组的大小?
java - 当我们使用自定义哈希函数时,Java HashTable 是否遵守负载因子(我们指定)?
Java 允许我们指定我们希望创建的哈希表的大小和所需的负载因子。如果我们使用自定义 HashCode 方法自己生成密钥,那么负载因子必须依赖于我们 HashCode 的效率/优点。我怎么知道我最初指定的负载系数要求仍然得到满足?
低于我想要的负载因子是 0.67。
但是,如果我说以下
那么即使我的哈希码功能很差,0.67的负载因子仍然会保留吗?
redis - 为什么redis中hashmap的负载因子大到5
在算法类和授权书籍中,加载因子小于 1,与 Java 一样,默认值为 0.75。但是在redis源码中,负载因子是5。
为什么?
java - 如果我们在重新散列发生时放置一个元素,HashMap 会发生什么?
我想知道当调整大小或重新散列时,如果我们尝试在地图中放置一个元素会发生什么。它是进入新增加的地图还是旧地图。
还有 hashmap 中额外的可用空间有什么用,即原始地图大小的 25%,负载因子为 75%?
c - C 可靠地获得 ULLONG_MAX 的百分比
在C
中,以下内容给了我一个隐式转换警告。我知道为什么会发生此警告。我想知道的是是否有一种可靠的方法来获取真正大的无符号数字的百分比。我知道最终结果将适合unsigned long long
,对于中间操作则不能这样说。
Entry
只是一个普通的结构,任何结构都可以。
我在想:
但是这样LOAD_FACTOR
就变成了,嗯,不是“动态的”。
编辑:我正在编译Wall
,Werror
和Wextra
Wpedantic