Standard wavelet tree uses space for bitvectors.
Can we do better? Technique 1: Implicit structure Store all bitvectors in one array of size bits. move through by computing offsets.
Technique 2: Succinct bitvectors Use rank/select structures that store bitvectors in compressed form with rank queries. Technique 3: Pointerless wavelet tree Store the tree implicitly like a heap.
Node has children and . No pointer overhead. For competitive programming, the standard implementation is usually fine. Space optimization matters for production systems with billions of elements.