Module dsa.huffman
Module to access functions for Huffman Compression.
Functions
def bitstring_to_bytes(s)
def build_frequency_table(s: str)
-
accepts a string to encode and returns a heap of the characters
def build_huffman_dictionary(node, bit_string: str = '')
-
given a Huffman Node, build a Huffman Dictionary
def build_huffman_tree(heap)
-
accepts a heap and returns a Huffman Tree
def bytes_to_bitstring(ba, bitlength=8)
def character_frequency(s: str)
-
takes a string a returns a dictionary on character frequency
def huffman_decode(encoded_data, tree)
def huffman_encode(st, hd)
Classes
class Node (left, right, value=None)
-
binary node implementation
Expand source code
class Node: """ binary node implementation """ def __init__(self, left, right, value=None): self.left = left self.right = right self.value = value def __lt__(self, other): return False def __repr__(self): if self.value is None: return "none" else: return self.value