Hash 皮尔逊完全散列
我正在尝试编写一个生成皮尔逊完美散列的生成器。注意,我不需要最小的完美散列。维基百科说,皮尔逊完美散列可以使用随机算法(其中S是一组键)在O(| S |)时间内找到。然而,我还没有在网上找到这样的算法。这可能吗 注意:我不想使用gperf/cmph/等,我宁愿编写自己的实现。Pearson概述了一种算法,用于构造一个置换表t以实现完美的哈希: 这个新的哈希函数的核心表T有时可以修改,以便在一个适当的单词列表上生成一个最小的、完美的哈希函数。事实上,人们通常可以为特定单词选择函数的确切值。例如,Knuth[3]用一种算法演示了完美哈希,该算法将31个常见英语单词的列表映射到两个单词之间的唯一整数−10和30。表II中的表T将这些相同的31个单词按字母顺序映射到1到31之间的整数上 尽管表II中表格的构建过程过于复杂,无法在此详述,但以下重点内容将使感兴趣的读者能够重复该过程:Hash 皮尔逊完全散列,hash,perfect-hash,Hash,Perfect Hash,我正在尝试编写一个生成皮尔逊完美散列的生成器。注意,我不需要最小的完美散列。维基百科说,皮尔逊完美散列可以使用随机算法(其中S是一组键)在O(| S |)时间内找到。然而,我还没有在网上找到这样的算法。这可能吗 注意:我不想使用gperf/cmph/等,我宁愿编写自己的实现。Pearson概述了一种算法,用于构造一个置换表t以实现完美的哈希: 这个新的哈希函数的核心表T有时可以修改,以便在一个适当的单词列表上生成一个最小的、完美的哈希函数。事实上,人们通常可以为特定单词选择函数的确切值。例如,K