- 0
- 0
- 约2.42万字
- 约 31页
- 2022-02-22 发布于吉林
- 举报
33|字符串匹配基础(中):如何实现文本编辑器中的查找功能?
33|字符串匹配基础(中):如何实现文本编辑器中的查找功能?
文本编辑器中的查找替换功能,我想你应该不陌生吧?比如,我们在Word中把一个单词统一替换成另一个,用的就是这个功能。你有没有想过,它是怎么实现的
呢?
当然,你用上一节讲的BF算法和RK算法,也可以实现这个功能,但是在某些极端情况下,BF算法性能会退化的比较严重,而RK算法需要用到哈希算法,而设计
一个可以应对各种类型字符的哈希算法并不简单。
对于工业级的软件开发来说,我们希望算法尽可能的高效,并且在极端情况下,性能也不要退化的太严重。那么,对于查找功能是重要功能的软件来说,比如一
些文本编辑器,它们的查找功能都是用哪种算法来实现的呢?有没有比BF算法和RK算法更加高效的字符串匹配算法呢?
今天,我们就来学习BM (Boyer-Moore )算法。它是一种非常高效的字符串匹配算法,有实验统计,它的性能是著名的KMP算法的3到4倍。BM算法的原理很复
杂,比较难懂,学起来会比较烧脑,我会尽量给你讲清楚,同时也希望你做好打硬仗的准备。好,现在我们正式开始!
BM算法的核心思想
我们把模式串和主串的匹配过程,看作模式串在主串中不停地往后滑动。当遇到不匹
您可能关注的文档
- 春节7天练Day2:栈、队列和递归.pdf
- 用户故事Jerry银银:这一年我的脑海里只有算法.pdf
- 春节7天练Day7:贪心、分治、回溯和动态规划.pdf
- 用户故事zixuan:站在思维的高处,才有足够的视野和能力欣赏“美”.pdf
- 春节7天练Day1:数组和链表.pdf
- 开篇词从今天起,跨过“数据结构与算法”这道坎.pdf
- 10递归:如何用三行代码找到“最终推荐人”?.pdf
- 09队列:队列在线程池等有限资源池中的应用.pdf
- 08栈:如何实现浏览器的前进和后退功能?.pdf
- 07链表(下):如何轻松写出正确的链表代码?.pdf
- 2026+循证建议:英克司兰在慢性肾脏病患者中的应用解读.pptx
- 2026+中国循证专家共识:儿童肺栓塞的管理 (1)_final.pptx
- 2026+中国循证专家共识:儿童肺栓塞的管理 (1)_repaired.pptx
- 2026+中国循证专家共识:儿童肺栓塞的管理_final.pptx
- 2026+中国循证专家共识:儿童肺栓塞的管理_repaired.pptx
- 2026+专家建议:嗜酸性食管炎组织学报告标准化.pptx
- 2026+最佳实践共识建议:所有医院发生的尿路感染的预防策略.pptx
- 2026+paflar+指南:少关节型幼年特发性关节炎_repaired.pptx
- 2026+PANLAR建议:少关节型幼年特发性关节炎的治疗.pptx
- 2026+国外实践指南+:女性首次经历精神病发作时首选的抗精神病药物.pptx
最近下载
- 2025至2030中国电动夹爪行业市场深度研究及发展前景投资可行性分析报告.docx VIP
- 《中国多发性骨髓瘤骨病诊治指南(2022年版)》解读.pptx
- 2025年高一生物上册期中试卷答案详解.docx VIP
- Formel-Q-V8(质量能力-软件).pdf VIP
- 2025-2026学年四川省成都七中高一(上)期中物理试卷(含答案).docx
- 超星尔雅学习通《中国陶瓷鉴赏与器物陈设》章节测试答案.docx VIP
- 2023考研数学二真题及答案解析PDF完整版-全22题逐题详解.pdf VIP
- Formel_Q_质量能力标准 9.pdf VIP
- 三上群文阅读议题6:一起看壮美山河 PPT.pptx
- 安徽理工大学《化工原理》2025 - 2026学年第一学期期末试卷(A卷).docx VIP
原创力文档

文档评论(0)