33字符串匹配基础(中):如何实现文本编辑器中的查找功能?.pdfVIP

  • 0
  • 0
  • 约2.42万字
  • 约 31页
  • 2022-02-22 发布于吉林
  • 举报

33字符串匹配基础(中):如何实现文本编辑器中的查找功能?.pdf

33|字符串匹配基础(中):如何实现文本编辑器中的查找功能? 33|字符串匹配基础(中):如何实现文本编辑器中的查找功能? 文本编辑器中的查找替换功能,我想你应该不陌生吧?比如,我们在Word中把一个单词统一替换成另一个,用的就是这个功能。你有没有想过,它是怎么实现的 呢? 当然,你用上一节讲的BF算法和RK算法,也可以实现这个功能,但是在某些极端情况下,BF算法性能会退化的比较严重,而RK算法需要用到哈希算法,而设计 一个可以应对各种类型字符的哈希算法并不简单。 对于工业级的软件开发来说,我们希望算法尽可能的高效,并且在极端情况下,性能也不要退化的太严重。那么,对于查找功能是重要功能的软件来说,比如一 些文本编辑器,它们的查找功能都是用哪种算法来实现的呢?有没有比BF算法和RK算法更加高效的字符串匹配算法呢? 今天,我们就来学习BM (Boyer-Moore )算法。它是一种非常高效的字符串匹配算法,有实验统计,它的性能是著名的KMP算法的3到4倍。BM算法的原理很复 杂,比较难懂,学起来会比较烧脑,我会尽量给你讲清楚,同时也希望你做好打硬仗的准备。好,现在我们正式开始! BM算法的核心思想 我们把模式串和主串的匹配过程,看作模式串在主串中不停地往后滑动。当遇到不匹

文档评论(0)

1亿VIP精品文档

相关文档