{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/space-efficient-construction-of-compressed-1","title":"Space-Efficient Construction of Compressed Suffix Trees","arxiv_id":"1908.04686","date":"2019-08-12","proceeding":null,"authors":["Nicola Prezza","Giovanna Rosone"],"abstract":"We show how to build several data structures of central importance to string processing, taking as input the Burrows-Wheeler transform (BWT) and using small extra working space. Let $n$ be the text length and $\\sigma$ be the alphabet size. We first provide two algorithms that enumerate all LCP values and suffix tree intervals in $O(n\\log\\sigma)$ time using just $o(n\\log\\sigma)$ bits of working space on top of the input BWT. Using these algorithms as building blocks, for any parameter $0 < \\epsilon \\leq 1$ we show how to build the PLCP bitvector and the balanced parentheses representation of the suffix tree topology in $O\\left(n(\\log\\sigma + \\epsilon^{-1}\\cdot \\log\\log n)\\right)$ time using at most $n\\log\\sigma \\cdot(\\epsilon + o(1))$ bits of working space on top of the input BWT and the output. In particular, this implies that we can build a compressed suffix tree from the BWT using just succinct working space (i.e. $o(n\\log\\sigma)$ bits) and any time in $\\Theta(n\\log\\sigma) + \\omega(n\\log\\log n)$. This improves the previous most space-efficient algorithms, which worked in $O(n)$ bits and $O(n\\log n)$ time. We also consider the problem of merging BWTs of string collections, and provide a solution running in $O(n\\log\\sigma)$ time and using just $o(n\\log\\sigma)$ bits of working space. An efficient implementation of our LCP construction and BWT merge algorithms use (in RAM) as few as $n$ bits on top of a packed representation of the input/output and process data as fast as $2.92$ megabases per second.","url_abs":"http://arxiv.org/abs/1908.04686v1","url_pdf":"http://arxiv.org/pdf/1908.04686v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"space-efficient-construction-of-compressed-1","repo_url":"https://github.com/nicolaprezza/bwt2lcp","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}