旋转哈希

✍ dations ◷ 2025-11-30 06:35:39 #散列函数

旋转哈希(也称为滚动哈希、递归哈希、滚动校验和或滑动哈希)是一种哈希函数,输入的内容在一个窗口中进行移动哈希。

少数哈希函数允许快速计算滚动哈希值 — 只给出旧的哈希值,新的哈希值被快速计算出来,旧的值从窗口中移除,新的值添加到窗口中 — 类似于移动平均函数的计算方式,比其他低通滤波器更快。

主要应用之一是Rabin–Karp字符串搜索算法,该算法使用下面描述的滚动哈希。另一个流行的应用是rsync程序,它使用基于Mark Adler的adler-32的校验和作为滚动哈希。低带宽网络文件系统(LBFS)使用Rabin指纹作为其滚动哈希。

滚动哈希值最多只能是成对独立(英语:pairwise independent)的或强通用(英语:universal hashing)的。例如,它们不能是三向独立(英语:k-independent hashing)的。

通常使用仅包含乘法和加法的滚动哈希函数来解释Rabin–Karp字符串搜索算法:

其中 a {\displaystyle a} , data length , output: cut point ← 2KB //split minimum chunk size is 2KB ← 64KB //split maximum chunk size is 64KB ← ← ← // buffer size is less than minimum chunk size if ≤ then return n; if ≥ then ←     while < do ← ( << 1 ) + ] if !( & ) then return     return

其中

算法从数组下标为 M i n S i z e {\displaystyle MinSize} 开始循环,省去了处理长度不足最小分块所浪费的时间。计算当前字节下对应的指纹信息,当发现指纹信息等于提前预设好的 M a s k {\displaystyle Mask} 时,则进行分段处理。如果计算到最大的 M a x S i z e {\displaystyle MaxSize} 时仍然没有匹配到 M a s k {\displaystyle Mask} 时,此时强行进行分块。


所有滚动哈希函数在字符数上都是线性的,但其复杂度与窗口长度的关系( k {\displaystyle k} )不等。Rabin–Karp滚动哈希需要两个 k {\displaystyle k} 位数字的乘法,整数乘法是在 O ( k log k 2 O ( log k ) ) {\displaystyle O(k\log k2^{O(\log ^{*}k)})} 。通过循环多项式对ngram进行哈希处理,可以在线性时间内完成。

相关

  • 纵隔疾病纵膈(mediastinum)是描述胸腔中心为疏松结缔组织所包围的构造,并无一个明显的界限。本区域包含许多解剖构造,包含心脏及其周围血管系统、食道、气管、膈神经(英语:phrenic nerve)、
  • 曲安奈德曲安奈德(英语:Triamcinolone acetonide)是一种用来治疗各种皮肤病或减轻口疡带来不适的合成皮质类固醇。它是更有效的去炎松,大约是强的松的八倍。
  • 淮北市淮北市,古称相,是中华人民共和国安徽省下辖的地级市,位于安徽省北部。市境北、东接宿州市,南邻蚌埠市、亳州市,西北界河南省商丘市,东北部飞地段园镇与江苏省徐州市接壤。地处皖苏
  • 瓦休戈瓦休戈(英语:Washougal、发音: /wɑːˈʃuːɡəl/)是美国华盛顿州克拉克县的一个城市。2010年美国人口普查时人口为161,791人。巴特尔格朗德 | 卡默斯 | 拉申特 | 里奇菲尔
  • 毛子蟹总科毛子蟹科(学名:Trichodactylidae),亦作毛指蟹科或毛肢蟹科,是短尾下目(螃蟹)蟹派异孔亚派的一个科,是毛子蟹总科(Trichodactyloidea)旗下唯一的一个科。本科所有生物均在中美洲及南美
  • 等压过程等压过程是压强不变的热力学过程: Δ p = 0 {\displaystyle \Delta p=0} 是系统所做的功,是内能,是热量。系统所做的
  • 费密费密(1625年-1701年),字此度,号燕峰,四川新繁人。明末清初著名学者、思想家、诗人和书法家。父费经虞为云南昆明知县。费密以孝顺闻名乡里,十四岁时父亲病重,尝父粪,使父康复。费密前
  • 二十叶海蛳螺二十叶海蛳螺(学名:)为海蛳螺科海蛳螺属下的一个种。
  • 让·路易斯·玛丽·波伊列让·路易斯·玛丽·波伊列(Jean Louis Marie Poiret,1755年6月11日-1834年4月7日)为法国牧师,植物学家和探险家。1785年至1786年,他被路易十六派往阿尔及利亚研究植物。法国大革命
  • 格拉汉姆·摩尔格拉汉姆·摩尔(Graham Moore,1981年10月18日-)是一位美国作家与编剧,成名于2010年发表的处女作书籍 ,位列纽约时报畅销书榜。编剧代表作为2014年历史传记片《模仿游戏》,为其赢得