当前位置:新励学网 > 秒知问答 > bom匹配算法

bom匹配算法

发表时间:2024-07-28 00:29:45 来源:网友投稿

现在那模式串“bomb”来举例,模式串长度m=4。

BM模式匹配中有2个数组,定一个是n1,一个是n2。

n1的作用是记录字符集中的每个字符在模式中相对于最右端的最近距离,b离最右端的为0,m为1,o为2,其他没有出现的则为4,那么n1[27]={4,0;

4;

4;

4;

4;

4;

4;

4;

4;

4;

4,1;

4;

2;

4;

4;

4;

4;

4;

4;

4;

4;

4;

4;

4;

4}(’_’占n[26])。

n2的作用是存储模式中第i个字符不等时,可以移动的位数。 考虑模式串的子串s=pi+1pi+1…p4,相对于模式串本身而言依次向左移动,如果子串s没有匹配上,则继续移动子串s,直到匹配或者移出模式串最左端,设(匹配或移出)+之前子串s移动的位数为n,则有n2[i]=m-i+n-1,并且令n2[m-1]=1。那么对于模式串”bomb”来说n2={4;

4;

4,1}。

免责声明:本站发布的教育资讯(图片、视频和文字)以本站原创、转载和分享为主,文章观点不代表本网站立场。

如果本文侵犯了您的权益,请联系底部站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!