A Wavelet Tree is a compact data structure which is used in order to perform various well defined operations directly on the compressed form of a file. As random access is one of these operations, the underlying file is not needed anymore, and is often discarded because it can be restored, when necessary, by repeated accesses. This paper concentrates on cases in which partial decoding of a contiguous portion of the file, or even its full decoding, is still needed. We show how to accelerate the decoding relative to repeatedly performing random accesses on the consecutive indices. Experiments on partial and full decoding support the effectiveness of our approach, and present an improvement of about 50% of the run-time for full decoding, and about 30% or more for partial decoding of large enough ranges.
- Direct access
- Range decoding
- Wavelet tree
All Science Journal Classification (ASJC) codes
- Discrete Mathematics and Combinatorics
- Applied Mathematics