Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hash 给定一个完美的散列函数,计算包含_Hash - Fatal编程技术网

Hash 给定一个完美的散列函数,计算包含

Hash 给定一个完美的散列函数,计算包含,hash,Hash,给定一组整数S上的完美散列函数,是否可以计算S中包含的整数,即,如果整数不在S中,是否可以在不读取哈希表本身的情况下进行判断,如果整数在S中,是否可以在不读取哈希表的情况下进行判断?假设我们有一个最小完美散列函数。所以哈希表的大小是n,S的大小是m,n=m。如果这是显而易见的,我道歉 不可以,因为一个完美的哈希函数将每个可能的整数映射到一个索引 您可以做的是:对于每个键,只存储一些附加信息,例如该键的哈希代码的最后几位。这样,您就可以说(以可配置的概率;这取决于您存储的数据量)整数是否可能在集合

给定一组整数S上的完美散列函数,是否可以计算S中包含的整数,即,如果整数不在S中,是否可以在不读取哈希表本身的情况下进行判断,如果整数在S中,是否可以在不读取哈希表的情况下进行判断?假设我们有一个最小完美散列函数。所以哈希表的大小是n,S的大小是m,n=m。如果这是显而易见的,我道歉

不可以,因为一个完美的哈希函数将每个可能的整数映射到一个索引


您可以做的是:对于每个键,只存储一些附加信息,例如该键的哈希代码的最后几位。这样,您就可以说(以可配置的概率;这取决于您存储的数据量)整数是否可能在集合中。这与bloom过滤器基本相同(可以得到误报,但不能得到误报)。

如果哈希函数是“在一组整数S上”,您将如何确定
i
不在
S
中?您是否希望哈希例程为“not in S”抛出异常?返回一个特殊的标志值?我想任何布尔返回值都可以,我只是不想读取哈希表。我没有考虑过类似bloom filter的东西,在我特定的GPU应用程序上,bloom filter将适合共享内存,所以这非常好。感谢您抽出时间回答,对延误表示歉意,从未收到通知。