English

Representing the suffix tree with the CDAWG

Data Structures and Algorithms 2017-05-25 v1

Abstract

Given a string TT, it is known that its suffix tree can be represented using the compact directed acyclic word graph (CDAWG) with eTe_T arcs, taking overall O(eT+eT)O(e_T+e_{{\overline{T}}}) words of space, where T{\overline{T}} is the reverse of TT, and supporting some key operations in time between O(1)O(1) and O(loglogn)O(\log{\log{n}}) in the worst case. This representation is especially appealing for highly repetitive strings, like collections of similar genomes or of version-controlled documents, in which eTe_T grows sublinearly in the length of TT in practice. In this paper we augment such representation, supporting a number of additional queries in worst-case time between O(1)O(1) and O(logn)O(\log{n}) in the RAM model, without increasing space complexity asymptotically. Our technique, based on a heavy path decomposition of the suffix tree, enables also a representation of the suffix array, of the inverse suffix array, and of TT itself, that takes O(eT)O(e_T) words of space, and that supports random access in O(logn)O(\log{n}) time. Furthermore, we establish a connection between the reversed CDAWG of TT and a context-free grammar that produces TT and only TT, which might have independent interest.

Keywords

Cite

@article{arxiv.1705.08640,
  title  = {Representing the suffix tree with the CDAWG},
  author = {Djamal Belazzougui and Fabio Cunial},
  journal= {arXiv preprint arXiv:1705.08640},
  year   = {2017}
}

Comments

16 pages, 1 figure. Presented at the 28th Annual Symposium on Combinatorial Pattern Matching (CPM 2017)

R2 v1 2026-06-22T19:57:25.416Z