Written by Yueh-Ting Chen (eopXD)
Succinct Data Structure Library 2.0
I am taking version 2.1.1 for testing (sdsl/)
-
include/wt/: underlying structures of wavelet treewt_huff.hpp: huffman shape constructionwt_node.hpp: tree ndoe structure
-
include/bv/: structures of bit vectorbv_naive.hpp: naive implementation of rank and selectbv_lookup.hpp: rrr bitvector supporting rank (2 level blocking)
-
include/wt.hpp: main wavelet tree structure, and rank/select/access operations -
include/bv.hpp: include bitvector implementations insidebv/ -
include/util.hpp: utility functions
Like all C++ STL, it is important to understand the constructors to be able to use the data structures.
- Engineering Rank and Select Queries on Wavelet Trees
- Wavelet Tree for All
- RRR - A Succinct Rank_Select Index for Bit Vectors
- Succinct Indexable Dictionaries with Applications to Encoding k-ary Trees and Multisets
- Broadword Implementation of Rank Select Queries
- Fast, Small, Simple Rank/Select on Bitmaps
- source code should not exceed the 80th column
if/else/for/(do)whileshall have appropriate bracket, avoid ambiguity- appropriate type definition inside structures