The Algorithm Visualization Catalog is a comprehensive collection of links to algorithm visualizations, or AVs.

Data Structure Visualization - Huffman Coding

Link(s)
http://www.cs.usfca.edu/~galles/visualization/java/visualization.html
Topic(s)
Huffman coding, Compression Algorithms



Recommendation
  
Lecture Aide Recommended
Self-study Supplement Recommended
Standalone Recommended
Debugging Aide Recommended
Works?
Yes
Delivery Method(s)
Java Application
Project
Data Structure Visualization
Project Relationship
Part of project
Language(s)
English
Author(s)
David Galles
Institution(s)
University of San Francisco
Activity Level(s)
Animation, Step control, User data
Source Code License
Available but unlicensed
First Published
N/A
Last Modified
N/A

Description

Visualizes the encoding and decoding process in Huffman coding. Accepts user input for the message to encode. This message is parsed to construct a tree with the distinct characters in the message at the leaf level along with the frequency. The encoded message is then constructed from the graph. This is followed by a graphical illustration of the decoding process where the encoded message is converted back into the message using the codes assigned earlier during the encoding process. Supports both continuous animation mode and step wise mode. Lets the users to move the layout of the tree nodes though that doesn’t have any functional value.

Evaluation

Overall Good. The graphical process of encoding and decoding is intuitive and useful. The construction of the tree is however is not really clear. Huffman coding and especially, the tree construction during the encoding process is non-trivial. Hence, running explanations or pseudo-code tracing would have been very useful. It requires the user to view the tree construction phase very carefully and sometimes a number of times to get a clear understanding. Each node has a frequency count inside it. It would have been really useful to have the frequency count inside the code table displayed at the top right corner (at the end of the encoding process). Decoding process in general is very simple in Huffman coding. The visualization keeps it simple as well which is appreciated. A measure of the performance of Huffman in terms of the compression factor should have been given.

Usage Notes
N/A
Field Report(s)
References
N/A
Rating
0
No votes yet
Your rating: None
AV of the Day
No
Score
62