设 Σ 是一个大小为 σ 的有序字母表。字符串 T 是 Σ 中的有限字符序列,Σ* 是所有 Σ 上的字符串集合。字符串 T 的第 个字符表示为 T[],其长度为 |T|。对于一个长度为
存储匹配统计信息
设 S 和 R 是两个使用字母表 Σ 的字符串,MS 表示 S 相对于 R 的匹配统计信息。存储匹配统计信息的最简单方法是使用一个长度为 |S| 的数组,每个元素需要存储两个整数的空间。更准确地说,MS 需要 2|S|?log?|R|? 位的空间,因为 ?i 和 pi 的值都在 0 到 |R| 的范围内。
构建匹配统计信息
众所周知,S 相对于 R 的匹配统计信息可以在 O(|R|+|S|) 的时间内计算出来。例如,可以使用 R 的后缀树来实现这一计算,正如 Chang 和 Lawler 在他们的原始论文 [2] 中所描述的。在本节中,我们首先概述这个算法,然后介绍更现代的 MS 构建算法。
在字符串处理任务中的应用
在本节中,我们将非全面地介绍匹配统计信息在字符串处理问题中的应用。
在索引构建和数据压缩中的应用
在本节中,我们将重点讨论匹配统计信息在压缩相关应用(特别是 Lempel-Ziv 和相对 Lempel-Ziv 解析)以及在其他数据结构(特别是 SA 和 BWT)构建中的应用。