数据结构与C++算法设计案例教程课件(精品·公开课件).pptVIP

  • 4
  • 0
  • 约1.93万字
  • 约 81页
  • 2018-12-03 发布于广西
  • 举报

数据结构与C++算法设计案例教程课件(精品·公开课件).ppt

一旦失配,应从模式串T中第next[ j ]个字符开始与S的失配点i重新匹配。 next[ j ]= 0 当j=1时 max { k |1kj 且‘T1…Tk-1’=‘Tj-(k-1) …Tj-1’ } 1 其他情况 图5-6 next[j]的求解 推算模式串“a b a a b c a c”的next函数值如下: j=1时, next[ j ]≡ 0;因为属于“j=1”; j=2时, next[ j ]≡ 1;因为属于“其他情况”; j=3时, k={2},只需查看‘T1’=‘T2’; j=4时, k={2,3},要查看‘T1’=‘T3’ 和‘T1T2’=‘T2 T3’ j=5时, k={2,3,4},要查看‘T1’=‘T4’ 、‘T1T2’=‘T3T4’ 和‘T1T2T3’=‘T2T3T4’ 由上面的求解可得到如下的next的求解值。 可能失配位 j: 1 2 3 4 5 6 7 8 模 式 串 T: a b a a b c a c 新匹配位 next[j] : 0 1 1 2 2 3 1 2 KMP算法在形式上与简单模式匹配算法极为相似,不同之处仅在于当匹配过程产生失败时,指针i不变,指针j退回到next[j]所指示的位置上重新进行比较,并且当指针j退回到0

文档评论(0)

1亿VIP精品文档

相关文档