背景知识
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