旋转哈希

✍ dations ◷ 2025-11-24 02:04:37 #散列函数

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

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

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

相关

  • 镧的同位素镧(原子量:138.90547(7))的同位素,其中有1个同位素是稳定的。备注:画上#号的数据代表没有经过实验的证明,只是理论推测而已,而用括号括起来的代表数据不确定性。
  • 艾默生效应艾默生效应(英语:Emerson effect),绿色植物在红光(波长660nm)和红外(波长>680nm)分别照射下,各有各自的光合成率。但植物在这二种光同时的照射下,它们的光合成率远大于这二种光单独照
  • 联璧金融上海联璧金融有限公司,原名上海联币有限公司,是成立于2012年的一家网络货款平台公司,以高额返利模式吸引投资者。2018年6月暴发财务问题而停业。联璧金融CEO为云南人侬锦。该公
  • 勒基托阿萨乡坐标:46°26′N 27°22′E / 46.433°N 27.367°E / 46.433; 27.367勒基托阿萨乡(罗马尼亚语:Comuna Răchitoasa, Bacău),是罗马尼亚的乡份,位于该国东北部,由巴克乌县负责管辖,面
  • 奕纲亦纲(1826年11月22日-1827年3月5日),爱新觉罗氏,清朝道光帝第二子。奕纲生于道光六年(1826年)十月廿三,生母是静贵人博尔济吉特氏,是奕䜣的同母哥哥。道光七年(1827年)。咸丰帝即位后,追
  • 日本元服礼元服礼是日本奈良时代以来男子成人礼意思,“元服”是冠礼的别称。“元”是头的意思,“服”是穿的动词意思。解释为“头戴帽子”,也有戴帽子和初次戴帽子的意思。公卿家女子成
  • 未来狂想曲《未来狂想曲》(英语:)是一部由英国广播公司制作的13集伪生态纪录片电视节目。剧情以数位科学家推测“人类灭绝后,未来地球的生命将如何演化”这个问题为探讨。在美国探索频道播
  • 安倍贞任安倍贞任(1019年?-1062年10月22日),日本平安时代武将。陆奥国奥六郡的俘囚长。安倍赖时次子,为厨川栅之栅主,又称安倍厨川次郎贞任。天喜4年(1056年),源赖义任期将满回京之时,部众在多
  • 莫汉·比克拉姆·辛格莫汉·比克拉姆·辛格(英语:Mohan Bikram Singh,简称MBS,1935年-)党名吉哈提(Gharti),尼泊尔政治人物。1935年,辛格出生在尼泊尔,父亲是一个富裕的地主。1950年,辛格参加反对拉纳家族(Ran
  • 格里戈里·巴拉希扬格里戈里·巴拉希扬(英语:Grigoris Balakian,亚美尼亚语:Գրիգորիս Պալագեան,1875年-1934年10月8日),亚美尼亚使徒教会的主教,亚美尼亚大屠杀幸存者,撰有回忆录。格里