tudocomp
– The TU Dortmund Compression Framework
|
#include <LZ78Trie.hpp>
Public Types | |
using | node_t = _node_t |
Protected Member Functions | |
LZ78Trie (const size_t n, const size_t &remaining_characters) | |
size_t | expected_number_of_remaining_elements (const size_t z) const |
node_t | add_rootnode (uliteral_t c) |
The dictionary can store multiple root nodes For LZ78, we use a root node with the id = c = 0. More... | |
node_t | get_rootnode (uliteral_t c) const |
Returns the root node corresponding to literal c. More... | |
void | clear () |
Erases the contents of the dictionary. More... | |
node_t | find_or_insert (const node_t &parent, uliteral_t c) |
Searches a pair (parent , c ). More... | |
size_t | size () const |
Returns the number of entries, plus the number of rootnodes. More... | |
Definition at line 41 of file LZ78Trie.hpp.
using tdc::lz78::LZ78Trie< _node_t >::node_t = _node_t |
Definition at line 43 of file LZ78Trie.hpp.
|
inlineprotected |
Definition at line 48 of file LZ78Trie.hpp.
|
inlineprotected |
The dictionary can store multiple root nodes For LZ78, we use a root node with the id = c = 0.
For LZW, we add for each possible literal value a root node. The compressor has to add these nodes.
Definition at line 61 of file LZ78Trie.hpp.
|
inlineprotected |
Erases the contents of the dictionary.
Used by compressors with limited dictionary size.
Definition at line 78 of file LZ78Trie.hpp.
|
inlineprotected |
Definition at line 51 of file LZ78Trie.hpp.
|
inlineprotected |
Searches a pair (parent
, c
).
If there is no node below parent
on an edge labeled with c
, a new leaf of the parent
will be constructed.
parent | the parent node's id |
c | the edge label to follow |
Definition at line 87 of file LZ78Trie.hpp.
|
inlineprotected |
Returns the root node corresponding to literal c.
Definition at line 69 of file LZ78Trie.hpp.
|
inlineprotected |
Returns the number of entries, plus the number of rootnodes.
Definition at line 95 of file LZ78Trie.hpp.