Recursively split the alphabet — one bitvector per level — and answer access / rank / quantile in O(log σ)
Build, then run a query and watch it descend.| Operation | Time | Note |
|---|---|---|
| build | O(n log σ) | one pass per level |
| access(i) | O(log σ) | read one bit per level |
| rank_c(i) | O(log σ) | follow bits of c |
| quantile(l,r,k) | O(log σ) | carry range, compare k |
| rangeCount | O(log σ) | countLess descent |
| space | n·⌈log₂σ⌉ bits | succinct (+o()) |