完美散列

✍ dations ◷ 2025-09-10 11:53:23 #散列,散列函数,搜寻算法

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


相关

  • 失窃的一代失窃的一代(英语:Stolen Generations,亦作Stolen generation、Stolen children),又翻译为失窃一代、被偷走的一代、被偷走一代、被偷的一代、被偷一代、被窃的一代、被窃一代,是指
  • 章宗祥章宗祥(1879年-1962年10月1日),字仲和,浙江吴兴荻港(今湖州南浔区和孚镇) 人。中华民国政治人物。章宗祥本为清朝秀才,清光绪二十五年(1899年)留学日本,先入第一高等学校,后入东京帝国大
  • 威廉·菲利普·海恩威廉·菲利普·海恩(William Philip Hiern,1839年1月19日-1925年11月28日)为英国数学家及植物学家。
  • 宫村荣一宫村荣一为19世纪末日本人类学研究学者,1896年8月连同多田纲辅和伊能嘉矩等日籍学者抵达台湾。1897年时他和伊能嘉矩于台北圆山西麓发现贝壳残骸遗址,两学者推断应为史前时代
  • 罗曼菲罗曼菲(1955年9月16日-2006年3月24日),台湾舞蹈家,宜兰县人。1955年生,从5岁开始学舞,国立兰阳女子高级中学毕业,1977年国立台湾大学外国语文学系毕业后,全家移民加拿大,并曾于美国玛
  • 福田靖福田靖(1962年-)是日本的影视剧作家。山口县周南市出身。明治学院大学肄业。曾就读于胜田声优学院,之后从事剧场工作,1995年正式成为电视编剧。著名作品包括《HERO》、《龙马传
  • 尼基塔斯·霍尼亚提斯尼基塔斯·霍尼亚提斯(希腊语:Νικήτας Χωνιάτηςc. 1155–1217)也译为卓尼亚铁斯 ,真实姓氏是科米纳托斯(Ἀκομινάτος),希腊拜占庭的政府官员和 历史学家
  • 戈德华特守则戈德华特守则(英语:Goldwater rule),是美国精神医学学会职业道德守则第7条第3款的通称。这一条款规定精神科医生只有在亲自诊断患者后才能得出诊断结果。条款是根据美国参议员巴
  • 忙碌等待在软件工程中,忙碌等待(也称自旋;英语:Busy waiting、busy-looping、spinning)是一种以进程反复检查一个条件是否为真为根本的技术,条件可能为键盘输入或某个锁是否可用。忙碌等待
  • 全国七大学综合体育大会全国七大学综合体育大会(英语:Seven Universities Athleticmeet),通称七帝战、七大战,是日本7所国立大学共同举办的体育竞技比赛,成员皆为旧帝国大学。