20 releases (5 breaking)
0.6.0 | Nov 23, 2022 |
---|---|
0.5.0 | Oct 18, 2022 |
0.4.0 | Apr 23, 2022 |
0.3.1 | Apr 4, 2022 |
0.1.2 | Nov 28, 2021 |
#146 in Data structures
2,182 downloads per month
Used in 3 crates
(2 directly)
150KB
3K
SLoC
sucds
: Succinct data structures in Rust
sucds
contains some succinct data structures written in Rust.
Data structures
So far, the following data structures are implemented. Most of them are yet another Rust ports of implementations of C++ Succinct library by Ottaviano. For a detailed description of each data structure, please see the respective documentation.
BitVector
- Bit vector in a plain format, supporting some utilities such as update, chunking, and predecessor queries.
CompactVector
- Compact vector in which each integer is represented in a fixed number of bits.
RsBitVector
- Rank/select data structure over bit vectors with Vigna's rank9 and hinted selection techniques.
DArray
- Constant-time select data structure over integer sets with the dense array technique by Okanohara and Sadakane.
EliasFano
- Compressed monotone sequence with Elias-Fano encoding.
EliasFanoList
- Compressed integer list with prefix-summed Elias-Fano encoding.
WaveletMatrix
- Space-efficient data structure providing myriad operations over integer sequences.
Limitation
This library is designed to run on 64-bit machines.
Build docs
The document can be compiled with the following command:
$ RUSTDOCFLAGS="--html-in-header katex.html" cargo doc --no-deps
Licensing
This library is free software provided under MIT.
Dependencies
~125KB