字符串
fearlessxjdx
这个作者很懒,什么都没留下…
展开
-
字符串哈希
下面介绍的字符串Hash函数把一个任意长度的字符串映射成一个非负整数,并且其冲突概率几乎为零。取一固定值P,把字符串看作P进制数,并分配一个大于0的数值,代表每种字符。 一般来说,我们分配的数值都远小于P。例如,对于小写字母构成的字符串,可以令a=1,b=2,...,z=26。a=1,b=2,...,z=26。a=1,b=2,...,z=26。 取一固定值M,求出该P进制数对M的余数,作为该字符...转载 2018-11-05 18:12:37 · 3514 阅读 · 0 评论 -
KMP模式匹配
KMP算法,能够在线性时间内判定字符串A[1~N]是否为字符串B[1~M]的子串,并求出A在B中各次出现位置。首先最朴实的做法是O(NM)的,其次这个问题使用字符串Hash也能在线性时间内求解。KMP算法能更高效、准确地处理这个问题,并提供一些额外的信息。详细的讲,KMP算法分为两步:(为方便讨论,以下部分将字符串存储在S[1…n],而不是S[0…n-1])对字符串A进行自我匹配,求出ne...转载 2018-11-08 19:33:22 · 213 阅读 · 0 评论