Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Huffman.H File Reference

Huffman coding for data compression. More...

#include <memory>
#include <istream>
#include <tpl_binNodeUtils.H>
#include <tpl_treap.H>
#include <tpl_binHeap.H>
#include <tpl_dynMapTree.H>
#include <bitArray.H>
#include <ah-errors.H>
Include dependency graph for Huffman.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Aleph::Huffman_Node
 
class  Aleph::Huffman_Encoder_Engine
 Huffman encoder. More...
 
struct  Aleph::Huffman_Encoder_Engine::Get_Key
 
struct  Aleph::Huffman_Encoder_Engine::Load_Key
 
class  Aleph::Huffman_Decoder_Engine
 Huffman decoder. More...
 

Namespaces

namespace  Aleph
 Main namespace for Aleph-w library functions.
 

Typedefs

using Aleph::Symbol_Map = DynMapTree< std::string, Huffman_Node *, Treap_Vtl >
 
using Aleph::Freq_Node = BinNode< std::pair< std::string, size_t > >
 
typedef BinHeap< size_tAleph::Huffman_Heap
 
typedef DynMapTree< std::string, BitArray, Treap_VtlAleph::Code_Map
 

Functions

static const size_tAleph::get_freq (Huffman_Node *huffman_node) noexcept
 
static void Aleph::increase_freq (Huffman_Node *huffman_node) noexcept
 
static void Aleph::set_freq (Huffman_Node *huffman_node, const size_t &freq) noexcept
 
static bool Aleph::is_leaf (BinNode< std::string > *p) noexcept
 

Detailed Description

Huffman coding for data compression.

Implements Huffman coding algorithm for building optimal prefix-free codes based on symbol frequencies. Provides encoding and decoding using binary trees.

Author
Leandro Rabindranath León

Definition in file Huffman.H.