什么是完美哈希函数
完美哈希函数(Perfect Hash Function,简称PHF)就是没有冲突的哈希函数,也就是,函数 H 将 N 个 KEY 值映射到 M 个整数上,这里 M>=N ,而且,对于任意的 KEY1 ,KEY2 ,H( KEY1 ) != H( KEY2 ) ,并且,如果 M = = N ,则 H 是
最小完美哈希函数(
Minimal Perfect Hash Function
,简称MPHF
)。
什么时候使用
PHF
和
MPHF
通常情况下,PHF或MPHF是针对
静态集合的。也就是,在使用PHF或MPHF时,所有的 KEY 值是事先已知并且固定的。不过,
这里有针对动态集合的一个算法(我没有仔细看,不敢肯定)。
使用
PHF
和
MPHF
的一般流程
1.
(准备阶段)将已知的所有的 KEY 值传给PHF或MPHF生成算法,生成PHF或MPHF以