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
  • Constructor Details

    • TreeDecoder

      public TreeDecoder​(TreeDecoder.Node root, int n)
      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 of TreeDecoder.Node and all leaf nodes are instances of TreeDecoder.LeafNode.
      Parameters:
      root - the root of a decoding tree.
      n - the number of leaves (symbols).
    • TreeDecoder

      public TreeDecoder​(BitVector[] lexSortedCodeWord, int[] symbol)
      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