滑动窗口中的最小缺失词及其在线模式匹配应用
1. 引言
模式匹配是在通常长得多的文本中查找模式的问题,模式和文本都是基于某个字母表的字符串。该问题已被研究许久,也有了高效的解决方案。近似模式匹配问题则是允许匹配过程中存在一些错误的模式匹配问题,此问题主要取决于如何解释错误以及使用何种度量进行比较。
模式匹配算法分为在线和离线两种。离线算法可在搜索前处理文本,而在线算法在搜索前不能处理文本,如著名的 bitap 算法。
本文提出一种基于最小缺失词的新型在线模式匹配方案。最小缺失词是指不在文本中出现,但所有真因子都在文本中出现的词。一个长度为 n 的单词在大小为 σ 的字母表上的最小缺失词数量的紧上界为 O(σn),且所有最小缺失词的集合足以唯一重构该单词。这个概念已应用于数据压缩和分子生物学领域。
Chairungsee 和 Crochemore 引入了基于最小缺失词组对称差的长度加权指数(LWI),Crochemore 等人将其应用于设计一种 O(m + n) 时间和 O(m + n) 空间的算法,用于在常量大小字母表上对两个长度分别为 m 和 n 的序列进行无对齐比较。本文的新模式匹配算法基于此 LWI,为了在单词 y 上为模式 x 维护 LWI,需要计算 y 中大小为 m = |x| 的滑动窗口中的最小缺失词组。
1.1 本文贡献
- 提出首个计算滑动窗口中最小缺失词的算法。对于大小为 m 的窗口和长度为 n 的单词,在大小为 σ 的字母表上,该算法对最小缺失词组执行 O(σn) 次插入和删除操作。通过精心实现数据结构,总体需要 O(σn) 时间和 O(σm) 空间。
- 将该算法应
超级会员免费看
订阅专栏 解锁全文
1086

被折叠的 条评论
为什么被折叠?



