Huffman Tree Encoding

Initializing live version
Download to Desktop

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



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.

Feedback (field required)
Email (field required) Name
Occupation Organization
Note: Your message & contact information may be shared with the author of any specific Demonstration for which you give feedback.