Bidirectional Search in a String Using Wavelet Matrix and Burrows Wheeler Transform

Bello, Hanatu Bagudu (2020-08-02)

2019 Computer Science Masters Theses


Wavelet tree is a data structure which permits the representation of sequences of symbols over an alphabet of size σ. It recursively partitions a string into two halves until homogeneous data is obtained. An increase in the value of σ has an impact on the wavelet tree’s space utilization. To reduce the wavelet tree’s space utilization pointer-less wavelet tree was invented, although in theory the complexities stay the same in practice it is slower. An alternative representation of the pointer-less wavelet tree is the wavelet matrix. It concatenates the bitmaps level-wise and also retains all the wavelet tree’s features but it is much faster in practice. In this research, we use the wavelet matrix to reconstruct the bidirectional wavelet index. The modification is efficient as our experiment shows that the bidirectional wavelet index constructed using the wavelet matrix decreases the time it takes to execute the queries.