Huffman Tree Encoding
Requires a Wolfram Notebook System
Interact on desktop, mobile and cloud with the free Wolfram Player or other Wolfram Language products.
The basic idea of Huffman encoding is that more frequent characters are represented by fewer bits. With the ASCII system, each character is represented by eight bits (one byte). But with the Huffman tree, the most-often-repeated characters require fewer bits. For example, if I wanted to send "Mississippi_River" in ASCII, it would take 136 bits (17 characters × 8 bits). If I wanted to send that same message using Huffman coding, it would take 46 bits, which is 66% more efficient. Using this example, this Demonstration gives a step-by-step analysis to get to the binary output.
Contributed by: Piril Nergis (February 2017)
Open content licensed under CC BY-NC-SA
Snapshots
Details
Huffman coding is a data representation system used for lossless data compression. It significantly decreases the total number of bits used. David A. Huffman, while an ScD student at MIT, created this algorithm in order to get out of his final exam.
This was a project for Advanced Topics in Mathematics II, fall 2016, Torrey Pines High School, San Diego, CA.
Permanent Citation
"Huffman Tree Encoding"
http://demonstrations.wolfram.com/HuffmanTreeEncoding/
Wolfram Demonstrations Project
Published: February 6 2017