Skip to content

List of Implemented Data Structures

simongog edited this page Nov 19, 2014 · 8 revisions
  • Bitvectors
    • An uncompressed mutual bitvector (bit_vector)
    • An uncompressed immutable bitvector (bit_vector_il)
    • A H_0-compressed immutable bitvector (rrr_vector<>)
    • A bitvector for sparse populated arrays (sd_vector<>)
  • Rank Support (RS) and Select Support (SS)
  • Variable-length Coders
  • Integer Vectors
    • Mutable vectors for (compile-time) fixed w-bit integers (int_vector)
    • Mutable vector for (run-time) fixed w-bit integers (int_vector<0>, w passed to the constructor)
    • Immutable compressed integer vectors using a variable-length coder coder (enc_vector, vlc_vector)
  • Wavelet Trees (WT) (all immutable)
    • Balanced wavelet (wt_blcd)
    • Balanced wavelet tree for integer alphabets (wt_int)
    • Wavelet matrix for integer alphabets (wm_int)
    • Huffman-shaped wavelet tree (wt_huff)
    • Hu-Tucker-shaped wavelet tree (wt_hutu)
    • Run-length compressed wavelet tree (wt_rlmn)
    • Fast select wavelet tree for integer alphabets (wt_gmr)
  • Compressed Suffix Arrays (CSA) (all immutable)
  • Balanced Parentheses Support (BPS) (all immutable)
    • A range-min-max-tree implementation (bp_support_sada) to support operations find_open, find_close, enclose, double_enclose,...
    • Hierarchical solutions with pioneer parentheses (bp_support_g, bp_support_gg)
  • Longest Common Prefix (LCP) Arrays (all immutable)
    • lcp_bitcompressed is a bitcompressed version
    • lcp_byte encodes small values with one byte and large values with two words
    • lcp_dac used direct accessible codes
    • lcp_wt stores small values in a WT and large value in on word.
    • lcp_vlc stores the values in a vlc_vector.
    • lcp_support_sada uses a bitvector of 2n bits, a select structure supporting it, and the corresponding CSA.
    • lcp_support_tree uses the topology of the corresponding CST.
    • lcp_support_tree2 uses the corresponding CSA and CST.
  • Compressed Suffix Trees (CST) (all immutable)
    • cst_sada provides very fast navigation operations; worst case
      space |CSA|+|LCP|+4n+o(n)
    • cst_sct3 representing nodes as intervals in the suffix array; worst case space |CSA|+|LCP|+3n+o(n)
  • Range Minimum/Maximum Query (RMQ) Structures (all immutable)
Clone this wiki locally