Overview
A wavelet tree recursively partitions values and stores bitvectors that guide queries through value ranges.
Indexes sequences so rank, select, and range queries can be answered compactly.
Compact metadata for implementation and discovery.
A wavelet tree recursively partitions values and stores bitvectors that guide queries through value ranges.
Quick facts
Runtime and memory behavior at a glance.
Best
O(log sigma)
Average
O(log sigma)
Worst
O(log sigma)
Space
O(n log sigma)
rank_c(prefix) follows bitvector rank into child nodeUses bitvector ranks to map a query range to the next level.
Show the structure layout and how operations move through or update it.
Wavelet Tree should be used with the assumptions and tradeoffs of succinct Range Query Structure in mind.
What each reference supports for this entry.
Succinct data-structures reference for wavelet trees, rank/select support, and range queries over sequences.
Good next jumps from the relationship graph, ranked for useful discovery.
Wavelet trees and suffix arrays are compact indexed structures that support sequence queries.