对于 1 亿个字符串(10~30 字符长度) 求一个算法尽量均匀映射到 128 个哈希桶

2020-09-19 09:00:57 +08:00
 therethere9
字符串是数据库的主键,考虑到数据量比较大,想根据字符串的哈希值建立对应的 128 个表,这样每个表只需要存储 1 百万条记录。
请教有比较好的类似哈希函数吗?主要考虑因为哈希函数调用量非常频繁,挑选的哈希函数运算开销尽量要小,哈希映射的均匀分布质量的话,其实只要差不多就行了(不需要达到完全均匀分布,各个映射到的桶之间差 30%以内都可以接受) 语言目前为 python
1376 次点击
所在节点    问与答
3 条回复
optional
2020-09-19 09:24:07 +08:00
参考 JAVA hashcode 直接 mod 128
reus
2020-09-19 12:09:32 +08:00
取最后一个字符,& 0x0f
Kahnn
2020-09-19 12:36:38 +08:00
murmurhash

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/708462

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX