其他分享
首页 > 其他分享> > 字符串hash

字符串hash

作者:互联网

就像cantor映射一样,字符串hash采取一种更加随机化的映射,

它的通项公式为hash[i]=\sum _{j=0}^{i}s[j]*p^{i-j},如此将一个字符串随机映射到了一个数字上,

我们来看这个公式的意义,他把一个字符串映射到了一个p进制数字上,位数代表着字符串的长度,然后我们将这个p进制数转化为十进制数并对1e9+7取模来存储,

但是通项公式不好求,但是我们可以通过递推公式来求

hash[i]=hash[i-1]*p+s[i]

这个公式就比较友好了,
可是怎么求出来中间一段呢

hash[l~r] = hash[r] - hash[l - 1] * pow(p, r - l + 1)

 

 

 

 

qq_41157212 发布了8 篇原创文章 · 获赞 0 · 访问量 1723 私信 关注

标签:hash,进制,映射,公式,通项,字符串
来源: https://blog.csdn.net/qq_41157212/article/details/82951961