gpt4 book ai didi

3 个整数的哈希函数

转载 作者:行者123 更新时间:2023-12-04 13:42:39 28 4
gpt4 key购买 nike

我有 3 个非负整数和一个数 n 使得

0 <= a <= n, 0 <= b <= n, and 0 <= c <= n. 

我需要一个单向哈希函数,将这 3 个整数映射到一个整数(可以是任何整数,正数或负数)。有没有办法做到这一点,如果是这样,怎么做?有没有办法让这个函数可以表示为一个简单的数学表达式,其中唯一的参数是 a、b、c 和 n?

注意:我需要这个函数,因为我使用 3 个整数的元组作为 python 字典中的键,并且 10^10 键,空间是一个真正的问题。

最佳答案

Cantor 配对函数 (https://en.wikipedia.org/wiki/Pairing_function#Cantor_pairing_function) 怎么样?

让H(a,b) := .5*(a + b)*(a + b + 1) + b

然后

H(a,b,c) := .5*(H(a,b) + c)*(H(a,b) + c + 1) + c

您提到您需要单向哈希,但根据您对内存限制的详细描述,可逆哈希似乎也足够了。

这不使用 a、b 和 c 上下有界的假设。

关于3 个整数的哈希函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38965931/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com