背景知识
BPM算法(适用于m<w的模式串)
1.预处理。
1)初始化位向量,每个位都置为0;
public void initVector(){
size = CHAR_SIZE*p.length();
bitArray = new int[(size-1)/BIT_LENGTH+1];
//将位向量全部清零
for(int i=0;i<n;++i){
P = i/BIT_LENGTH;
Q = i%BIT_LENGTH;
bitArray[P] |= 1<<(31-Q);
}
}
2)对字符集的每一个字符计算其二进制模式表示
/********************/
for(in

本文介绍了Horspool算法在模糊匹配中的应用,特别是对于模式串长度小于文本串的情况。首先,概述了算法的背景知识,然后详细阐述了BPM算法的预处理步骤,包括位向量初始化和字符的二进制模式表示。接着,讨论了如何结合Horspool算法构建跳转数组以实现模糊匹配。最后,讲解了匹配检索部分,展示了如何在文本串中找出所有匹配模式串的部分。
最低0.47元/天 解锁文章
3328

被折叠的 条评论
为什么被折叠?



