完美散列

✍ dations ◷ 2025-12-01 18:50:32 #散列,散列函数,搜寻算法

对集合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值的优势。


相关

  • 青霉素G苄青霉素(英语:Benzylpenicillin),也称青霉素G(penicillin G),是一种窄谱青霉素类抗生素,用于静脉注射或肌肉注射治疗儿童的各种细菌感染。通常直接用青霉素指苄青霉素。苄青霉素被
  • 皮埃尔·维尔纳皮埃尔·维尔纳(法语:Pierre Werner,1913年12月29日-2002年6月24日),卢森堡政治家,1953年至1959年任国防兼财政大臣,1959年和1979年两次任卢森堡首相。
  • 陆战队美国海军陆战队(United States Marine Corps-USMC)与美国海军同样归美国国防部下辖的美国海军部指挥。海军陆战队由四个主要部分组成:海军陆战队司令部,作战部队,辅助后勤单位及
  • Spirurina旋尾亚目(学名:Spirurina),原为旋尾亚纲,现时被降为小杆目之下的一个线虫的分类单元,皆为海洋生物。根据WoRMS,本亚目包括下列五个下目:
  • 二氧化二氯二氧化二氯是一种氯的氧化物,是大气层中氟利昂参与光化学反应的中间体之一,可由两个一氧化氯自由基结合而形成。
  • 达美航空航点列表达美航空是美国其中一家主要航空公司,她以佐治亚州亚特兰大市为基地。截至2019年11月,达美航空有242个航点,遍布全球60个国家,横跨6大洲。
  • 加姆斯科格尔山坐标:47°3′19″N 10°59′49″E / 47.05528°N 10.99694°E / 47.05528; 10.99694加姆斯科格尔山(德语:Gamskogel),是奥地利的山峰,位于该国西部,由蒂罗尔州负责管辖,属于斯图拜阿
  • 虬髯客虬髯客,为唐代传奇小说《虬髯客传》(作者为杜光庭)中的虚构人物,姓张,与李靖、红拂女并称风尘三侠。虬髯客是一个神秘的游侠,有道教背景,原希望在隋末乱世取得天下,于是游历江湖。在
  • 爱你的心《爱你的心》(英语:)是1995年美国剧情片,是导演詹姆斯·曼高德的处女作。影片由雪莉·温特斯、丽芙·泰勒、黛比·哈利和普鲁特·泰勒·文斯(英语:Pruitt Taylor Vince)主演,讲述了
  • 曹欣曹欣(1921年11月-2014年1月30日),男,江苏苏州人,中国人民解放军少将。肄业于上海同义中学。1936年9月,任上海市职业界救亡协会第五干事会九分会成员。后参加八路军129师,后担任先锋