中文

在 Burrows-Wheeler 逆变换过程中构造 Lyndon 数组

数据结构与算法 2019-03-12 v1

摘要

本文提出一种算法,将字符串 TT(长度为 nn)的 Lyndon 数组计算作为其 Burrows-Wheeler 变换逆变换的副产品。除用于 Burrows-Wheeler 逆变换的数据结构外,我们的算法仅使用一个栈,即可在线性时间内运行。我们将该算法与另外两种线性时间 Lyndon 数组构造算法进行比较,表明先计算 Burrows-Wheeler 变换再构造 Lyndon 数组的方法相较于已知方法具有竞争力。我们还提出了一种新的 Lyndon 数组的平衡括号表示,其空间占用为 2n+o(n)2n+o(n) 比特并支持常数时间访问。该表示可在线性时间内使用 O(n)O(n) 字空间构建,或使用与 TT 渐近相同的空间在 O(nlogn/loglogn)O(n\log n/\log\log n) 时间内构建。

关键词

引用

@article{arxiv.1710.10105,
  title  = {Lyndon Array Construction during Burrows-Wheeler Inversion},
  author = {Felipe A. Louza and W. F. Smyth and Giovanni Manzini and Guilherme P. Telles},
  journal= {arXiv preprint arXiv:1710.10105},
  year   = {2019}
}