中文

从LZ77到游程编码Burrows-Wheeler变换及其逆

数据结构与算法 2017-02-07 v1

摘要

Lempel-Ziv因子分解(LZ77)与游程编码Burrows-Wheeler变换(RLBWT)是文本压缩与索引的两个重要工具,其大小 zzrr 与文本自重复程度密切相关。本文考虑在正比于输入和输出的工作空间内将两种表示相互转换的问题。设 nn 为文本长度。我们证明 RLBWTRLBWT 可在 O(nlogr)\mathcal{O}(n\log r) 时间和 O(r)\mathcal{O}(r) 字工作空间内转换为 LZ77LZ77。反之,我们提供一种算法在 O(n(logr+logz))\mathcal{O}\big(n(\log r + \log z)\big) 时间和 O(r+z)\mathcal{O}(r+z) 字工作空间内将 LZ77LZ77 转换为 RLBWTRLBWT。注意若文本高度重复,rrzz 可为\emph{常数},且我们的算法可比基于完全解压缩的朴素解法少至\emph{指数级}的空间。

关键词

引用

@article{arxiv.1702.01340,
  title  = {From LZ77 to the Run-Length Encoded Burrows-Wheeler Transform, and Back},
  author = {Alberto Policriti and Nicola Prezza},
  journal= {arXiv preprint arXiv:1702.01340},
  year   = {2017}
}