旋转哈希

✍ dations ◷ 2025-09-13 20:55:03 #散列函数

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

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

主要应用之一是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进行哈希处理,可以在线性时间内完成。

相关

  • 古无轻唇音古无轻唇音,为清代钱大昕(1728年-1804年)提出之音韵学概念,说明在秦汉时期声母系统中没有轻唇音,唐末出现轻唇音在上古均属于重唇音。在唐末宋初前,唇音都读作重唇音。中古末期,即唐
  • 古塔区古塔区是辽宁省锦州市下辖的一个市辖区。下辖9个街道,1个乡。天安街道、石油街道、北街街道、敬业街道、保安街道、南街街道、饶阳街道、站前街道、士英街道和钟屯乡。
  • 曲奇曲奇(美式英文:Cookie)是一种小而扁平和甜的烘焙或煮熟的食物。它通常含有面粉,糖和某种油或脂肪。也有可能包括其他原料,如葡萄干,燕麦,巧克力片,坚果,果酱等。在美国与加拿大解为细
  • L·S·斯塔夫里阿诺斯L·S·斯塔夫里阿诺斯(Leften Stavros Stavrianos,1913年2月5日-2004年3月23日),加拿大出生的希腊裔美国历史学家,早年专攻巴尔干史,后致力于全球史观的通史编纂,1971年出版《全球通
  • 佩尔-奥洛夫·勒夫丁佩尔-奥洛夫·勒夫丁 (Per-Olov Löwdin)(1916年10月28日-2000年10月6日) 是瑞典物理学家,在乌普萨拉大学从1960年至1983年是教授,同时是佛罗里达大学的教授直到1993年。勒夫丁在
  • Natural《Natural》是美国组合梦想之龙乐队的歌曲,由组合成员、贾斯汀·特兰特(英语:Justin Tranter)和制作人马特曼和罗宾(英语:Mattman & Robin)共同创作,由Kidinakorner(英语:Kidinakorner
  • 小飞象 (2019年电影)《小飞象》(英语:)是一部于2019年上映的美国实景真人(英语:Live action)奇幻电影,由蒂姆·伯顿执导。电影改编自1941年同名动画电影,由科林·法瑞尔、伊娃·格林、迈克尔·基顿和丹
  • 宗室奕功宗室奕功(1853年-1900年),清朝宗室、政治人物。乾隆帝第十七子永璘之孙,历任奉宸苑卿,至御前侍卫。光绪二十六年,义和拳乱时,八国联军攻破京师,光绪帝奉孝钦显皇后向西撤退,奕功以世受
  • 渥太华强奸危机中心渥太华强奸危机中心(英语:Ottawa Rape Crisis Centre)是一家加拿大机构, 致力于结束一切形式的性暴力。渥太华强奸危机中心于1974年成立,是加拿大境内第三家强奸危机操作中心。
  • 维基百科标志维基百科的标志是一个未完成的球形拼图(其顶部缺少部分零片),每一个零片上各有一种书写系统的字形。在中文维基百科所有页面的左上角,维基百科标志下方有一个“维基百科”字标,而