我正在寻找一个散列函数族生成器,该生成器可以在给定一组参数的情况下生成一个散列函数族。到目前为止,我还没有找到任何此类生成器。有没有办法用hashlib
包来做到这一点?
例如,我想做类似的事情:
h1 = hash_function(1)
h2 = hash_function(2)
...
以及h1
和h2
将是不同的哈希函数。
对于那些可能了解这一点的人,我正在尝试在非常大的数据集上实现最小散列算法。
[基本上,对于给定的文档,我有很多功能(1亿到10亿个,我需要为此功能创建1000到10000个不同的随机排列。
我不想显式地构建随机排列,因此我想在以下内容中使用该技术:
h
,并考虑对于两个索引r
和s
r
出现在排列的s
之前,如果h(r) < h(s)
并针对100至1000个不同的哈希函数执行此操作。我可能会错过任何已知的库吗?还是您可能知道的使用python生成哈希函数族的任何标准方法?
我正在寻找一个散列函数族生成器,该生成器可以在给定一组参数的情况下生成一个散列函数族。到目前为止,我还没有找到任何此类生成器。有没有办法用...
我只是想做类似的事情(如果您不需要线程安全-如果您确实需要线程安全,并且不难改变-并假设是32位Python版本):
如上所述,您可以对minhash使用通用哈希。例如:
您应该考虑使用通用哈希。我的答案和代码可以在这里找到:https://stackoverflow.com/a/25104050/207661
@@ alex的答案虽然简洁明了,但是它生成的哈希函数并不“彼此非常不同”。