1
2
我会通过stl::hash_map运行一个(大)数据集。完成后,我将使用以下方法收集所有bucket的结果
从
最后,我会计算 标准偏差(SD) 的 元素到桶分配 . 我会为不同的散列函数执行上述操作。无论哪一个哈希函数产生的最小sd都是赢家(对于这个数据集)。 |
2
3
最好的办法可能是将哈希算法带到一个int数组中,并在给定真实数据的情况下计算每个哈希桶被击中的次数。(我建议把stl从等式中去掉,真的。) 如果您最终看到大量真实数据的计数出现高偏差,那么当有大量空(或空)桶可用时,哈希算法将生成大量冲突。 注意,“高偏差”是一个相对术语。一个好的散列算法是一个确定性的随机过程,任何随机过程都有可能产生奇怪的结果,所以要经常测试,测试好,并且尽可能使用实际的问题域作为测试和控件的源。 |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
rainer · 后台插入程序的初始化 1 年前 |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |