旋转哈希

✍ dations ◷ 2025-05-20 16:26:56 #散列函数

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

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

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

相关

  • 热浪热浪是指天气在某一段时间内持续地保持异常高的气温(相对于该地区多年平均气温而言),也有可能伴随有很高的空气湿度。这个术语通常与地区相联系,所以一个处于相对较热气候的地区
  • 印度洋印度洋(英语:Indian Ocean),位于亚洲、非洲、大洋洲和南极洲之间,印度位在印度洋北部的中央位置,这也是印度洋名称的由来,印度洋大部分在南半球。总面积7491万平方公里,约占世界海洋
  • 信息保障基地中国人民解放军军徽中央军委联合参谋部信息保障基地,位于北京市丰台区长辛店镇辛庄村,是中央军事委员会联合参谋部直属单位,是中国人民解放军战略信息支援保障力量。2010年,中国
  • 2015年卡拉奇交通事故2015年卡拉奇交通事故,是指发生在巴基斯坦当地时间2015年1月11日凌晨的交通事故。事故地点位于南部港口城市卡拉奇附近,一辆油罐车逆向行驶,撞上了迎面而来的公共汽车。油罐车
  • 第2届AKB48红白对抗歌合战第2届AKB48红白对抗歌合战(日语:第2回AKB48紅白対抗歌合戦)是日本组合AKB48在2012年12月17日于TOKYO DOME CITY HALL举行的演唱会。2012年12月11日,AKB48官方网站宣布继续举行AK
  • Feel Special 除特别注明外,本文所有时间均以东九区时间(UTC+9)为准。《Feel Special》是由JYP娱乐制作,韩国女子团体TWICE于2019年9月23日推出的第八张韩语迷你专辑,专辑共收录了7首歌曲,主
  • 金光布袋戏黄俊雄布袋戏之又称金光系列(金光戏说法不一,以声、光、音乐、机关等丰富多彩或人物犹如金光护体而不倒不死为特征),乃因民国83年(1994年)中华电视公司播出新云州大儒侠最后一集
  • 帕什卡伊·拉斯洛帕什卡伊·拉斯洛(匈牙利语:Paskai László;1927年5月8日-2015年8月17日)是匈牙利籍天主教司铎级枢机、方济各会会士及艾斯特根-布达佩斯总教区荣休总主教。拉斯洛于1927年5月8
  • 辻本达规辻本 达规(つじもと たつのり、1991年5月17日 - )是日本的演员・艺人, 中京圈的当地男子团体BOYS AND MEN的成员之一。昵称为つーじー。岐阜県羽岛市出身。隶属于FORTUNE ENTER
  • 多田彰文多田彰文(1964年1月10日-),日本男性音乐家、作曲家、编曲家、合成乐程序员、剧伴(日语:劇伴)作家、制作人。出身于兵库县。负责音乐企划制作的场合别名“AKI(アキ)”。从小开始学习弹