完美散列

✍ dations ◷ 2025-11-04 22:47:53 #散列,散列函数,搜寻算法

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


相关

  • 七年战争欧洲大陆维持战前态势,英国、法国、西班牙殖民地变更。七年战争发生在1754年至1763年,而其主要冲突则集中于1756年-1763年。当时世界上的主要强国均参与这场战争,其影响覆盖欧
  • 狼狗狼狗是狗和狼交配所得的动物。因为狗和狼属于学名为Canis lupus的同一个物种,因此狼狗与骡子不同,并非杂种,故它们具生育能力。在古代,狼狗只会因母狗在发情期时逃走与公狼交配
  • 谴责李顿报告(Lytton Report)是由国际联盟的李顿调查团在1932年发表的报告,用以协助调查及解决1931年的日本及中国之间发生的九一八事变。李顿调查团由英国的维克多·布尔沃-李顿,第
  • 神市君主 · 首都 · 文学史 · 教育史 电影史 · 韩医史 陶瓷史 · 戏剧史 韩国国宝 · 朝鲜国宝神市又名倍达国,神市国是朝鲜半岛传说中的古国家,由天帝桓因之子桓雄创立
  • 波兰人民共和国宪法波兰人民共和国宪法是一部于1952年7月22日由波兰的立法机关众议院决议通过,俗称斯大林宪法或七月宪线法。这部宪法由国务委员会(英语:Polish Council of State)导入,取代波兰原本
  • 上海科学普及出版社上海科学普及出版社,是中华人民共和国的一个出版社,位于上海市中山北路832号。1957年创建。1958年曾并入上海科学技术出版社。1986年9月,经出版局批准复社,隶属于上海市科学技术
  • 东京棋东京棋(Tonkin)是十九世纪出现于法国的连棋类游戏,名称来自法属印度支那的越南东京。
  • 阿玛比埃阿玛比埃(日语:アマビエ )是一种日本传说中的人鱼形生物。又意译为“海异光”。它有着长发、鸟嘴、鱼身及三条腿(鳍),从海中出现,能保佑丰收,祛除瘟疫。据传,阿玛比埃曾于江户时代的
  • 诺亚布尔斯克诺亚布尔斯克(俄语:Ноя́брьск)是俄罗斯亚马尔-涅涅茨自治区的最大城镇,位于西伯利亚油田中央,人口96,440人(2002年)。诺亚布尔斯克建于1977年,原名汉托(Khanto)。为纪念于197
  • 格拉斯曼流形在数学中,格拉斯曼流形是一个向量空间 的给定维数的所有线性子空间。例如,格拉斯曼流形 1() 是 中过原点直线的空间,从而与射影空间 P 相同。格拉斯曼流形以赫尔曼·格拉斯曼