Package it.unimi.dsi.compression
Class TreeDecoder
java.lang.Object
it.unimi.dsi.compression.TreeDecoder
- All Implemented Interfaces:
Decoder,Serializable
public final class TreeDecoder extends Object implements Decoder, Serializable
A decoder that follows 0/1 labelled paths in a tree.
Additional, the buildCodes() method returns a vector
of codewords corresponding to the paths of an instance of this class. Conversely,
the codeword-based constructor builds
a tree out of the codewords generated by root-to-leaf paths.
- See Also:
- Serialized Form
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classTreeDecoder.LeafNodeA leaf node of the decoding tree.static classTreeDecoder.NodeA internal node of the decoding tree. -
Constructor Summary
Constructors Constructor Description TreeDecoder(BitVector[] lexSortedCodeWord, int[] symbol)Creates a new codeword-based decoder starting from a set of complete, lexicographically ordered codewords.TreeDecoder(TreeDecoder.Node root, int n)Creates a new codeword-based decoder using the given tree. -
Method Summary
Modifier and Type Method Description BitVector[]buildCodes()Generate the codewords corresponding to this tree decoder.intdecode(BooleanIterator iterator)Decodes the next symbol from the given boolean iterator.intdecode(InputBitStream ibs)Decodes the next symbol from the given input bit stream.LongArrayBitVectorsuccinctRepresentation()
-
Constructor Details
-
TreeDecoder
Creates a new codeword-based decoder using the given tree. It is responsibility of the caller that the tree is well-formed, that is, that all internal nodes are instances ofTreeDecoder.Nodeand all leaf nodes are instances ofTreeDecoder.LeafNode.- Parameters:
root- the root of a decoding tree.n- the number of leaves (symbols).
-
TreeDecoder
Creates a new codeword-based decoder starting from a set of complete, lexicographically ordered codewords. It is responsibility of the caller that the tree is well-formed, that is, that the provided codewords are exactly the root-to-leaf paths of such a tree.- Parameters:
lexSortedCodeWord- a vector of lexically sorted codeWords.symbol- a mapping from codewords to symbols.
-
-
Method Details
-
decode
Description copied from interface:DecoderDecodes the next symbol from the given boolean iterator.Note that
InputBitStreamimplementsBooleanIterator. -
decode
Description copied from interface:DecoderDecodes the next symbol from the given input bit stream.Note that
InputBitStreamimplementsBooleanIterator.- Specified by:
decodein interfaceDecoder- Parameters:
ibs- an input bit stream.- Returns:
- the next symbol decoded from
ibs. - Throws:
IOException
-
buildCodes
Generate the codewords corresponding to this tree decoder.- Returns:
- a vector of codewords for this decoder.
-
succinctRepresentation
-