English

Parallel Construction of Wavelet Trees on Multicore Architectures

Data Structures and Algorithms 2016-10-20 v1

Abstract

The wavelet tree has become a very useful data structure to efficiently represent and query large volumes of data in many different domains, from bioinformatics to geographic information systems. One problem with wavelet trees is their construction time. In this paper, we introduce two algorithms that reduce the time complexity of a wavelet tree's construction by taking advantage of nowadays ubiquitous multicore machines. Our first algorithm constructs all the levels of the wavelet in parallel in O(n)O(n) time and O(nlgσ+σlgn)O(n\lg\sigma + \sigma\lg n) bits of working space, where nn is the size of the input sequence and σ\sigma is the size of the alphabet. Our second algorithm constructs the wavelet tree in a domain-decomposition fashion, using our first algorithm in each segment, reaching O(lgn)O(\lg n) time and O(nlgσ+pσlgn/lgσ)O(n\lg\sigma + p\sigma\lg n/\lg\sigma) bits of extra space, where pp is the number of available cores. Both algorithms are practical and report good speedup for large real datasets.

Keywords

Cite

@article{arxiv.1610.05994,
  title  = {Parallel Construction of Wavelet Trees on Multicore Architectures},
  author = {José Fuentes-Sepúlveda and Erick Elejalde and Leo Ferres and Diego Seco},
  journal= {arXiv preprint arXiv:1610.05994},
  year   = {2016}
}

Comments

This research has received funding from the European Union's Horizon 2020 research and innovation programme under the Marie Sk{\l}odowska-Curie Actions H2020-MSCA-RISE-2015 BIRDS GA No. 690941

R2 v1 2026-06-22T16:25:18.945Z