如果给定一组数值和一个HashTable大小,我怎样才能模拟碰撞的次数?如何从一组值中计算HashTable中的冲突数量?
-6
A
回答
1
计算您的数字值的散列值并计算重复散列值的数量。
的简单实现的,这可能是:
List<Integer> yourValues = /* Your set of numbers */;
Map<Integer, Set<Integer>> map = new HashMap<>();
// Insert all elements into buckets based on their hash value
yourValues.forEach(value -> {
if (!map.containsKey(value.hashCode()))
map.put(value.hashCode(), new HashSet<>());
map.get(value.hashCode()).add(value);
});
// Sum up the number of values in each bucket, subtract the number of buckets, so only duplicate values are counted
int collisions = map.values().stream().map(Set::size).reduce(0, Integer::sum) - map.size();
System.out.printf("Number of collisions: %d\n", collisions);
相关问题
- 1. 如何计算JavaME中collidesWith()的冲突次数?
- 2. 如何计算Ruby中数组中数组的数量?
- 3. 计算一个数组中2个值之间的数字量
- 4. 如何计算一维数组中重复元素的数量?
- 5. 如何计算一个数组中值的出现次数c#
- 6. 从数组值中计算得分
- 7. 如何计算多维数组中非空数组的值?
- 8. 如何使用Thrust从int2数组中计算平均值
- 9. 如何从一组数字计算平均值,中位数,模式和范围
- 10. 如何计算sql中列中值的数量的百分比?
- 11. 如何计算一个数组中有多少个最大值?
- 12. 如何计算双数组中的特定范围内的值的数量
- 13. 计算向量中超过data.frame的值中的值的数量
- 14. 如何计算数据库中每个组合框值的值?
- 15. 如何计算组中重复值(SSRS)
- 16. 如何预先计算值的数组?
- 17. 如何计算数组的平均值?
- 18. 如何计算一组数组的变化量?
- 19. 使用变量计算数组中值的个数
- 20. 如何计算数组中的元素数量?
- 21. 如何正确计算数组中的级别数量?
- 22. 如何计算R中布尔数据组合的数量
- 23. 如何计算在GROUPBY条款计数计数值的数量
- 24. 从关联数组中计算唯一值
- 25. 计算帆中关联值的数量?
- 26. 如何计算数组中的值与python中的数组之和的比率?
- 27. 计算数组中的平均值
- 28. 计算数组中值的频率
- 29. 计算数组中值的实例
- 30. 计算数组中的空值
你到目前为止做了什么研究? –
碰撞的次数取决于你的哈希算法,所以没有一个适合所有的答案。 – diesieben07