最小的哈希函数族

时间:2016-01-23 17:08:42

标签: algorithm math hash cryptography hashtable

请告诉我如何找出集合的哈希函数族中包含的最少数量的函数: {1..n} -> {1..m}  我知道定义,我知道有很多家庭,但我找不到如何构建MINIMAL家族。

如果有人能够通过示例向我展示构建这样一个家庭的过程,那就太好了:{1,2,3,4}->{1,2}

请帮帮我!问候M。

2 个答案:

答案 0 :(得分:1)

好奇的问题,还是不好问?

哈希函数实质上是将(1..m)映射到(1..n)任何函数都可以这样做,然后是一个散列函数。 n小于m!

当谈到家庭时,它就是算法 ......

所以函数总数是获得1..n的任何函数,所以任何具有n个子集的分区:exercise。 n个或少于n个子集的任何分区= m ^ n。提示:与具有n-1个或少于n-1个子集的任何分区进行比较。

最小= 1:任何映射!

函数的一般数量:通常,散列函数是一致的,因此每个子集必须具有m / n个元素。所以number = Cm,m / n×C(m-m / n),m / n×C(m-km / n),m / n ......

答案 1 :(得分:-1)

感谢各位回复,我终于想出了如何做MINIMAL family of hashing functions。 在该上下文中,minimal意味着不能从该族删除任何函数以保持哈希函数族的条件。例如,对于{1,2,3,4} -> {1,2},最小族中的函数数为6.例如,函数值表:

1 1 2 1 1 2 1 2 1 2 2 1 2 2 1 1 2 1 2 1 2 1 1 2

每个段代表另一个函数的值。