正在加载图片...
以下假设next0],next[1],……,next可的值均已求 出,现要求 next[+1]的值。由于在求解next时已得到p 之前最长真前缀和真后缀匹配的长度,设其值为,即: pop1P2……p Pj1P…P2P1PP+1 如果此时进一步有p=P;,则p+之前最长真前缀和真后缀匹 配的长度就为+1,且 next[+1-j+1:反之,着p1p;,注 意到,求p1+1之前最长真前缀和真后缀匹配问题本质上仍然 是一个模式匹配问题,只是在这里模式和正文都是同一个串 p而已。因此当P时,应该检查pne与p是否相等;若 相等,则next+1]=next]+1;如仍然不相等,则再取 next inext[与P进行比较,……直至要将p1与5p进行比较为 止,此时 next[+1]=0。以下假设next[0],next[1],……,next[i]的值均已求 出,现要求next[i+1]的值。由于在求解next[i]时已得到pi 之前最长真前缀和真后缀匹配的长度,设其值为j,即: p0 p1 p2……pi-j …….pj-1 pj……pi-2 pi-1 pi pi+1…… 如果此时进一步有pj=pi,则pi+1之前最长真前缀和真后缀匹 配的长度就为j+1,且next[i+1]=j+1;反之,若pj pi,注 意到,求pi+1之前最长真前缀和真后缀匹配问题本质上仍然 是一个模式匹配问题,只是在这里模式和正文都是同一个串 p而已。因此当pj pi时,应该检查pnext[j]与pi是否相等;若 相等,则next[i+1]=next[j]+1;如仍然不相等,则再取 pnext[next[j]]与pi进行比较,……直至要将p-1与pi进行比较为 止,此时next[i+1]=0
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有