完美散列

✍ dations ◷ 2025-12-04 18:52:04 #散列,散列函数,搜寻算法

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


相关

  • 抗 TPO/微粒体人体解剖学 - 人体生理学 组织学 - 胚胎学 人体寄生虫学 - 免疫学 病理学 - 病理生理学 细胞学 - 营养学 流行病学 - 药理学 - 毒理学抗甲状腺自身抗体或简称抗甲状腺抗体(a
  • 滑动关节滑动关节,又称平面关节(Plane joint),是使骨块左右滑动的关节。在此种关节中,骨的表面实际上是平的,两骨块间彼此滑过而产生动作,可进行多方向的相对移动。滑动关节见于手的腕骨之
  • Schedule IV《受管制药物和物品法》(英语:Controlled Drugs and Substances Act,法语:Loi réglementant certaines drogues et autres substances)是加拿大的联邦药物管制法令,于1996年在首
  • 天津大学南开大学附属中学天津大学南开大学附属中学,简称天南大附中,是南开大学、天津大学的教职员工子弟学校。1960年,在天津大学南开大学联合员工子弟小学的基础上创建,分中学部和小学部,由两所大学联合
  • 联邦主义议文集《联邦党人文集》或称《联邦论》、《联邦主义议文集》(英语:Federalist Papers),是18世纪80年代三位美国政治家在制定美国宪法的过程中所写作的有关美国宪法和联邦制度的评论文
  • 波特氏病波特氏病(英语:Pott disease 或 英语:Pott's disease)是一种发生在椎骨(肺部以外)的结核菌感染。结核病能影响数种肺部以外的组织,包括脊椎,这是一种结核菌引起的椎间关节炎。此病
  • 圣马丁大区圣马丁大区(西班牙语:Departamento de San Martín)是秘鲁中北部的一个大区。面积为51,253.31平方公里,人口为989,973人(2007年)。首府莫约班巴,最大城市塔拉波托。1906年9月4日建
  • 两冈之战双冈之战是唐朝时期在河北邯郸境内的一场唐朝中央军和河北藩镇军的激战。双冈就是今邯郸的两冈,在邯郸西北地区,位于泽璐镇东越太行山出华北平原,连接上党、涉县、武安、临洺城
  • 希金斯号驱逐舰希金斯号驱逐舰(USS Higgins (DDG-76))是美国海军阿利·伯克级驱逐舰的第二十六艘,以海军陆战队上校威廉·R·希金斯命名。希金斯号驱逐舰于1996年11月14日在缅因州巴斯的巴斯
  • 抹香鲸峰坐标:65°38′S 62°16′W / 65.633°S 62.267°W / -65.633; -62.267抹香鲸峰(英语:Cachalot Peak)是南极洲的山峰,位于奥斯卡二世海岸,处于斯塔布冰川和斯塔巴克冰川之间,属于亚