完美散列

✍ dations ◷ 2025-08-16 19:11:47 #散列,散列函数,搜寻算法

对集合S的完美散列函数是一个将S的每个元素映射到一系列无冲突的整数的哈希函数。一个完美散列函数的应用与其他哈希函数的应用基本一致,但不需要任何冲突解决方案。在数学术语中,这是一个完全单射函数.

对于特定集合S的完美散列函数能在常数时间中被计算出,其映射值在一个相对小的范围内,能被一个随机化算法发现,该算法的操作次数与S的大小成正比.任何适合在哈希表中使用的完美散列函数需要至少与S的大小成正比的位数。

一个值的位数被限定范围的完美散列函数能应用于高效查找操作中:假定查找键(key)与集合S(或与集合S关联的值)对应,然后将完美散列函数应用于查找键,得到哈希值(一个整数),然后在查找表中取出该整数对应的值。在集合S极少更新且查询频率非常多的情况下,使用完美hash函数是非常有效的。对集合S更新频率的限定是由于对任何集合S的修改,都将导致该完美散列函数退化为非完美散列函数。每次集合S被修改后自动更新hash函数的解决方案被称为dynamic perfect hashing,但这类方法非常复杂,难以实现。一个简单的允许动态更新集合S的完美散列函数的替代品叫cuckoo hashing。

最小完美散列函数是一个能将个键(key)映射到个连续的整数的完美散列函数。 产生的值通常为 或 。正式表述如下:设和是有限集合K的两个元素。F是一个最小完美散列函数iff F()=F()只在=的情况下成立(单射);并且存在整数,使得F的范围为..+|K|−1。已经在数学上证明,通用的完美hash函数至少需要每个键(key)1.44 比特(bit) 。而当前已知的最小完美hash散列函数每个键需要2.6 比特。

对一个最小完美散列函数F,若键以1, 2, ..., 次序给出,对任意键 and , <,意味着F()<F(). Order-preserving minimal perfect hash functions require necessarily Ω( log ) bits to be represented.,我们称该最小完美散列函数F是保序的。

若对一个最小完美散列函数F,其应用变换后得到的值保持了键(key)的字典序,我们称该最小完美散列函数F为单调的。在此情况下,函数产生的值就是输入的键在所有可能的有序键序列中的位置。若被hash的键被存储于有序数组中,已实现一种策略,对每个键存储少量附加位(bits),以取得更快计算hash值的优势。


相关

  • 导尿管导尿管是一种辅助排尿的医疗设备。其一般经由尿道插入膀胱,进而引出尿液出来。导尿管的结构中,其头端有一个气囊,用于固定导尿管,使其得以留在膀胱内防止脱出。 导尿管型号,按照
  • 吸油烟机吸油烟机(又称抽油烟机、排油烟机)是一种现代厨房设备,主要用来抽走室内烹饪过程中产生的油烟,同时也可用于抽去水蒸气和气味。油烟是食用油遇高温气化、分解的气体和气溶胶,现代
  • 好莱坞大道好莱坞大道(英文:Hollywood Boulevard),位于美国洛杉矶好莱坞,东接日落大道,西北方止于佛蒙特大道(英语:Vermont Avenue),全长4.5英里(7.2千米)。其中一段因为有很多影视明星在大道上留
  • 灯塔山灯塔山(Beacon Hill)是美国波士顿一个古老的街区,连同后湾(Back Bay)共有约26,000人。这是一个由联邦式联排住宅组成的街区,以其煤气灯照明的狭窄街道和砖砌人行道著称。今天,灯塔
  • 大布宜诺斯艾利斯大布宜诺斯艾利斯(西班牙语:Gran Buenos Aires,GBA),指布宜诺斯艾利斯自治市与周边卫星城组成的都会区。这些区已经与卫星城相连:
  • 长白猪长白猪(Landrace pigs)也称蓝德瑞斯猪或蓝瑞斯猪,是家猪中著名的瘦肉型品种。长白猪因高产和高饲料利用率而著称,常用作杜长大(杜洛克×(长白×大白))杂交体系的母系猪。另外,也有农
  • 叶绿基甲萘醌叶绿基甲萘醌(英语:Phylloquinone,2-甲基-3-叶绿基-1,4-萘醌,简称叶绿醌,又称为维生素K1)属于一种多环芳香酮,骨架基于2-甲基-1,4-萘醌,在三号位上有一个植烷取代基。叶绿基甲萘醌是
  • 严禁反应严禁反应(英语:Stringent response)是指细菌等原核生物在缺少氨基酸的环境中生长时,细胞主动关闭蛋白质合成等一些代谢活性的反应。氨基酸供应减少时,与氨基酸结合的tRNA数量减少
  • 南部鹤姬南部鹤姬(1836年10月22日-1865年1月19日)是八户藩第9代藩主南部信顺正室。父亲是八户藩第8代藩主南部信真。母亲是侧室菊。在八户藩江户藩邸出生,是信真第8个女儿。在天保9年(183
  • 长隔木属长隔木属(学名:)是茜草科下的一个属,为灌木植物。该属共有40种,分布于中、南美洲。