完美散列

✍ dations ◷ 2025-11-29 00:59:40 #散列,散列函数,搜寻算法

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


相关

  • 格林福德坐标:51°31′48″N 0°20′56″W / 51.5299°N 0.3488°W / 51.5299; -0.3488格林福德(Greenford)是位于伦敦西北伊灵区的一个郊区地区,在古代是米德塞克斯的一部分,距查令十字
  • ODMODM(英语:Original Design Manufacturer的缩写),即原厂委托设计代工,又译原始设计制造商,又俗称为贴牌生产,指由采购方委托制造方,由制造方从设计到生产一手包办,而最终产品贴上采购
  • 米尔克里克米尔克里克(Mill Creek)位于美国华盛顿州斯诺霍米什县,西雅图北北东方20英里左右,是西雅图都会区的一部分。美国2010年人口普查时人口为18,244人。米尔克里克原本是计划在市中心
  • 超氧化氢超氧化氢自由基,也称作氧化羟基自由基或超氧酸,是由超氧离子质子化得到的,化学式为HO2。超氧化氢可以通过向超氧离子转移一个质子来制备。超氧离子(O2−)和超氧化氢自由基在水溶
  • 空尾蜥属空尾蜥属(学名:)意为“中空蜥蜴的祖先”,是种原始双孔类爬行动物,拥有特化的类似翅膀结构,使它可以滑翔。这些是条状结构,有皮肤覆盖在上面。空尾蜥的平均长度是40公分长,而身体长而
  • 中央车站 (电影)《中央车站》(葡萄牙语:Central do Brasil)是一部1998年摄制的巴西电影。电影讲述了一个小男孩与一个中年妇人一同寻找小男孩父亲的故事。电影真挚感人,并获得了金球奖和英国电
  • 印度尼西亚工党印度尼西亚工党(印尼语:Partai Buruh Indonesia,PBI),是印尼的一个政党。印度尼西亚工党前身为印尼的总工会,印度尼西亚劳工阵线(印尼语:Barisan Buruh Indonesia, BBI)。1945年9月15
  • 谢尔顿·阿克斯勒谢尔顿·杰·阿克斯勒(英语:Sheldon Jay Axler,1949年11月6日-)是一名美国数学家和数学教育家,主要研究方向为泛函分析与复变函数论之间的联系。他现任旧金山州立大学科学与工程
  • 要庄乡要庄乡,是中华人民共和国河北省保定市满城区下辖的一个乡镇级行政单位。要庄乡下辖以下地区:东黄村、前大留村、后大留村、胡疃村、王各庄村、两渔村、要庄村、贾庄村、南上坎
  • 长秋乡长秋乡,是中华人民共和国四川省成都市蒲江县下辖的一个乡镇级行政单位。2019年12月,撤销长秋乡、寿安镇,设立寿安街道。长秋乡下辖以下地区:高韩村、古佛村、石马村和开源村。