串的模式匹配算法.pptVIP

  • 102
  • 0
  • 约5.24千字
  • 约 21页
  • 2019-06-13 发布于浙江
  • 举报
第4章 串(String) 4.3 串的模式匹配算法 BF算法的实现—即编写Index(S, T, pos)函数 BF算法的时间复杂度 讨论: 若n为主串长度,m为子串长度,则串的BF匹配算法最坏的情况下需要比较字符的总次数为 KMP算法(特点:速度快) ① KMP算法设计思想 ② KMP算法的推导过程 ③ KMP算法的实现 (关键技术:计算next[j]) ④ KMP算法的时间复杂度 ① KMP算法设计思想: (参见教材P80-84) ② KMP算法的推导过程:(见教材P81) 新起点 k怎么求? (1) next[ j ]有何物理意义? 例: 模 式 串 T: a b a a b c a c 可能失配位 j: 1 2 3 4 5 6 7 8 新匹配位k=next[j] : 求解next[j]流程图(递推) 注:递归与递推的区别: ③ KMP算法的实现—即Index( )操作的实现 第一步,先把模式T所有可能的失配点j 所对应的next[j]计算出来; 第二步:执行定位函数Index_kmp (与BF算法模块非常相似) ④ KMP算法的时间复杂度 注意:由于BF算法在一般情况下的时间复杂度也近似于O(n+m),所以至今仍被广泛采用。 第4章小结 答疑: * * 4.1 串类型的定义 4.2 串的表

文档评论(0)

1亿VIP精品文档

相关文档