支持随机访问的动态压缩字符串
在字符串处理领域,动态压缩字符串的存储和操作是一个重要的研究方向。本文将介绍两种存储动态压缩字符串的主要结果,分别支持不同的操作集,并分析其时间复杂度和空间占用情况。
字符串动态存储的熵界
本部分介绍存储动态压缩字符串的两个主要定理:
- 定理1 :给定字母表 $\Sigma = [\sigma] = {1, \ldots, \sigma}$ 上的字符串 $S[1, n]$,存在一个存储 $S$ 的索引,支持在 $O(1 + \frac{m}{\lg_{\sigma} n})$ 时间内进行 Access(i, m) 操作,在 $O(1)$ 时间内进行 Replace 操作(这些界是最坏情况下的最优界)。对于所有 $k = o(\lg_{\sigma} n)$,总体空间占用为 $nH_k(S) + O(\frac{n k \lg \sigma + \lg \lg n}{\lg_{\sigma} n})$ 比特。
- 定理2 :给定字母表 $\Sigma = [\sigma]$ 上的字符串 $S[1, n]$,存在一个存储 $S$ 的索引,支持在 $O(\frac{\lg n}{\lg \lg n} + \frac{m}{\lg_{\sigma} n})$ 时间内进行 Access(i, m) 操作,在 $O(\frac{\lg n}{\lg \lg n})$ 时间内进行 Replace 、 Insert 和 Dele
超级会员免费看
订阅专栏 解锁全文
2642

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



