{"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/another-virtue-of-wavelet-forests","title":"Another virtue of wavelet forests?","arxiv_id":"2308.07809","date":"2023-08-15","proceeding":null,"authors":["Christina Boucher","Travis Gagie","Aaron Hong","Yansong Li","Norbert Zeh"],"abstract":"A wavelet forest for a text $T [1..n]$ over an alphabet $\\sigma$ takes $n H_0 (T) + o (n \\log \\sigma)$ bits of space and supports access and rank on $T$ in $O (\\log \\sigma)$ time. K\\\"arkk\\\"ainen and Puglisi (2011) implicitly introduced wavelet forests and showed that when $T$ is the Burrows-Wheeler Transform (BWT) of a string $S$, then a wavelet forest for $T$ occupies space bounded in terms of higher-order empirical entropies of $S$ even when the forest is implemented with uncompressed bitvectors. In this paper we show experimentally that wavelet forests also have better access locality than wavelet trees and are thus interesting even when higher-order compression is not effective on $S$, or when $T$ is not a BWT at all.","url_abs":"https://arxiv.org/abs/2308.07809v1","url_pdf":"https://arxiv.org/pdf/2308.07809v1.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":"another-virtue-of-wavelet-forests","repo_url":"https://github.com/aaronhong1024/wavelet_forest","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}