arXiv · 1901.10165
Fully-functional bidirectional Burrows-Wheeler indexes
Abstract
Given a string $T$ on an alphabet of size $\sigma$, we describe a bidirectional Burrows-Wheeler index that takes $O(|T|\log{\sigma})$ bits of space, and that supports the addition \emph{and removal} of one character, on the left or right side of any substring of $T$, in constant time. Previously known data structures that used the same space allowed constant-time addition to any substring of $T$, but they could support removal only from specific substrings of $T$. We also describe an index that supports bidirectional addition and removal in $O(\log{\log{|T|}})$ time, and that occupies a number of words proportional to the number of left and right extensions of the maximal repeats of $T$. We use such fully-functional indexes to implement bidirectional, frequency-aware, variable-order de Bruijn graphs in small space, with no upper bound on their order, and supporting natural criteria for increasing and decreasing the order during traversal.
Explore related subjects
Keep this discovery
Fabio Cunial, Djamal Belazzougui. 2019-01-29. Fully-functional bidirectional Burrows-Wheeler indexes. https://arxiv.org/abs/1901.10165
Cite the original work for its findings. Save a collection to share your selection of sources.